home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 98 / Skunkware 98.iso / src / interp / perl5.005.tar.gz / perl5.005.tar / perl5.005 / x2p / a2p.c next >
C/C++ Source or Header  |  1998-07-19  |  129KB  |  2,732 lines

  1. #ifndef lint
  2. static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91";
  3. #endif
  4. #define YYBYACC 1
  5. #line 2 "a2p.y"
  6. /* $RCSfile: a2p.y,v $$Revision: 4.1 $$Date: 92/08/07 18:29:12 $
  7.  *
  8.  *    Copyright (c) 1991-1997, Larry Wall
  9.  *
  10.  *    You may distribute under the terms of either the GNU General Public
  11.  *    License or the Artistic License, as specified in the README file.
  12.  *
  13.  * $Log:    a2p.y,v $
  14.  */
  15.  
  16. #include "INTERN.h"
  17. #include "a2p.h"
  18.  
  19. int root;
  20. int begins = Nullop;
  21. int ends = Nullop;
  22.  
  23. #line 24 "y.tab.c"
  24. #define BEGIN 257
  25. #define END 258
  26. #define REGEX 259
  27. #define SEMINEW 260
  28. #define NEWLINE 261
  29. #define COMMENT 262
  30. #define FUN1 263
  31. #define FUNN 264
  32. #define GRGR 265
  33. #define PRINT 266
  34. #define PRINTF 267
  35. #define SPRINTF 268
  36. #define SPLIT 269
  37. #define IF 270
  38. #define ELSE 271
  39. #define WHILE 272
  40. #define FOR 273
  41. #define IN 274
  42. #define EXIT 275
  43. #define NEXT 276
  44. #define BREAK 277
  45. #define CONTINUE 278
  46. #define RET 279
  47. #define GETLINE 280
  48. #define DO 281
  49. #define SUB 282
  50. #define GSUB 283
  51. #define MATCH 284
  52. #define FUNCTION 285
  53. #define USERFUN 286
  54. #define DELETE 287
  55. #define ASGNOP 288
  56. #define OROR 289
  57. #define ANDAND 290
  58. #define NUMBER 291
  59. #define VAR 292
  60. #define SUBSTR 293
  61. #define INDEX 294
  62. #define MATCHOP 295
  63. #define RELOP 296
  64. #define OR 297
  65. #define STRING 298
  66. #define UMINUS 299
  67. #define NOT 300
  68. #define INCR 301
  69. #define DECR 302
  70. #define FIELD 303
  71. #define VFIELD 304
  72. #define YYERRCODE 256
  73. short yylhs[] = {                                        -1,
  74.     0,    3,    6,    6,    2,    2,    7,    7,    7,    7,
  75.     7,    7,    9,    8,    8,   11,   11,   11,   11,   11,
  76.    15,   15,   15,   15,   14,   14,   14,   14,   13,   13,
  77.    13,   13,   12,   12,   12,   12,   16,   16,   16,   16,
  78.    16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
  79.    16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
  80.    16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
  81.    16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
  82.    16,   17,   17,   17,   17,   10,   10,   10,   18,   18,
  83.    18,    1,    1,   19,   19,   19,   19,    4,    4,   20,
  84.    20,   21,   21,   21,   21,    5,    5,   22,   22,   22,
  85.    22,   25,   25,   23,   23,   23,   23,   23,   23,   23,
  86.    23,   23,   23,   23,   23,   23,   26,   26,   26,   24,
  87.    24,   24,   24,   24,   24,   24,   24,
  88. };
  89. short yylen[] = {                                         2,
  90.     2,    6,    5,    2,    3,    0,    1,    5,   10,    4,
  91.     1,    1,    1,    1,    3,    1,    1,    1,    1,    5,
  92.     3,    4,    4,    2,    3,    3,    3,    3,    3,    3,
  93.     1,    3,    1,    2,    5,    3,    1,    1,    1,    3,
  94.     3,    3,    3,    3,    3,    3,    2,    2,    2,    2,
  95.     2,    2,    3,    1,    2,    3,    4,    3,    4,    1,
  96.     3,    4,    4,    4,    2,    8,    6,    8,    8,    6,
  97.     6,    6,    6,    6,    6,    6,    6,    8,    8,    8,
  98.     8,    1,    4,    1,    2,    1,    1,    0,    4,    4,
  99.     3,    2,    0,    1,    1,    1,    1,    2,    0,    1,
  100.     1,    2,    2,    2,    2,    2,    0,    3,    2,    2,
  101.     1,    1,    0,    1,    4,    2,    4,    2,    1,    1,
  102.     1,    2,    1,    1,    2,    5,    1,    1,    1,    6,
  103.     9,    6,    7,   10,    9,    6,    5,
  104. };
  105. short yydefred[] = {                                     93,
  106.     0,    0,   95,   96,   97,   94,    0,   92,    0,    0,
  107.    31,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  108.     0,   38,    0,    0,    0,   39,    0,    0,    0,    0,
  109.     0,   84,    0,   99,    0,   11,    0,   93,    0,    0,
  110.     0,   17,   18,   19,    0,    0,   99,   99,    0,    0,
  111.     0,   65,    0,    0,    0,    0,    0,    0,    0,    0,
  112.     0,    0,    0,    0,    0,    0,    0,    0,    0,   24,
  113.    49,   50,    0,    0,    0,    0,    0,    0,    4,    0,
  114.    99,    0,   99,   99,    0,    0,    0,    0,    0,    0,
  115.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  116.    47,   48,    0,    0,   61,    0,    0,    0,    0,    0,
  117.    99,   99,    0,    0,    0,    0,    0,    0,    0,    0,
  118.     0,    0,    0,    0,    0,  100,  101,    0,   98,   53,
  119.    32,   28,   21,    0,    0,    0,    0,    0,    0,   30,
  120.     0,    0,    0,    0,   46,    0,    0,    0,    0,    0,
  121.     0,    0,    0,    0,    0,   62,   63,   91,    0,    0,
  122.     0,    0,    0,    0,    0,    0,    0,    0,   13,   64,
  123.    83,    0,    0,   99,    0,    0,    0,    0,    0,    0,
  124.   120,  119,  123,    0,   99,    0,   99,   10,   99,    0,
  125.   106,    0,  111,    0,    0,    0,   22,    0,   59,   93,
  126.     3,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  127.    99,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  128.     0,    0,    0,    0,    0,   99,   99,   99,   99,   99,
  129.     8,    0,    0,    0,   70,    0,   75,    0,   74,    0,
  130.    77,    0,   76,    0,   72,   73,    0,   67,    0,   71,
  131.   128,  127,  129,    0,    0,    0,    0,    0,  112,    0,
  132.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  133.     0,    0,    0,    0,   99,    0,    0,    0,   99,   99,
  134.    99,    0,    0,    0,   99,   69,   68,   79,   78,   81,
  135.    80,    0,   66,    0,    0,    0,    0,    0,    0,  126,
  136.     0,    0,    0,  132,  136,    0,    0,    0,    9,   99,
  137.    99,    0,  133,    0,    0,   99,  131,  135,    0,  134,
  138. };
  139. short yydgoto[] = {                                       1,
  140.     2,    7,   36,   74,  128,   37,   38,   39,  168,   52,
  141.    75,  190,   42,   43,   44,   45,   46,   54,    8,  129,
  142.   230,  191,  192,  193,  260,  254,
  143. };
  144. short yysindex[] = {                                      0,
  145.     0,  -50,    0,    0,    0,    0, 4775,    0,  -91,  -38,
  146.     0,   34,   41, 7201,   42,    6,   46,   48,   50, -184,
  147.    70,    0,   16,   77,   80,    0, 7255, 7255, 5051, -220,
  148.  -220,    0, 7255,    0, 5051,    0, -140,    0,    5,  -13,
  149.  5693,    0,    0,    0,  -32, -233,    0,    0, 4619, 7201,
  150.  5962,    0, 6006,   79, 7255, 7255,   71, 6890, 6936, 7255,
  151.    87, 7201, 7201, 7255, 7255, 5051,  -42, -244,  -42,    0,
  152.     0,    0,   20, -183,  -41,   89,   92,   93,    0,  -50,
  153.     0, 7255,    0,    0, 5051, 7255, 6990, 7255, 7255, 7255,
  154.   -32, -157, 7255, 7255, 7255, 7255, 7255, 7255, -144, 5051,
  155.     0,    0, -183, -183,    0, 3590,   96, 5962, 5577,   10,
  156.     0,    0, 6049, 1522, 7255,   94, 6107,   95, 6153, 6195,
  157.  7201,   99,   51, 6238, 6281,    0,    0, 4886,    0,    0,
  158.     0,    0,    0, -183, 6323, 1605, 1605,  -60, 6380,    0,
  159.  1522, 1522, 1522, 1522,    0,   -7,   -7,  -42,  -42,  -42,
  160.   -42, -220,  -60, 4931, 4977,    0,    0,    0, 6425, 6425,
  161.  -151, 1522, 7255, 7255, 7255, 7255, 7052,  102,    0,    0,
  162.     0, 7255, 7255,    0, 7201, 7201,  115,  119,  121, 7255,
  163.     0,    0,    0, 7255,    0, -130,    0,    0,    0, 7112,
  164.     0,   18,    0, 5242, 7255, -126,    0, 7255,    0,    0,
  165.     0, 7112, 7112,   32, 2427, 2474, 5735, 5779,  126, 6470,
  166.     0, 5842, 6513, -183,  -33,  -33, 5051, 5051, 5428, 7112,
  167.  7112, 4046,   81, -183, -183,    0,    0,    0,    0,    0,
  168.     0, 7112, 7112,  -50,    0, 7158,    0, 7255,    0, 7255,
  169.     0, 7255,    0, 7255,    0,    0,  -96,    0, 7255,    0,
  170.     0,    0,    0, 7255, 7255,  -39,  -37, 6555,    0,  116,
  171.   -95, 7201, 5287, -183, -183, -183, -183, -183,  135, 6612,
  172.  6657, 6702, 6745, 6787,    0, 6844, 7112, 7112,    0,    0,
  173.     0, 5908,  144,   97,    0,    0,    0,    0,    0,    0,
  174.     0, -183,    0, 4046, 4046, 4046, 5428,  -51, 5051,    0,
  175.  -183, 5332,  -85,    0,    0,  146, 5428,  -35,    0,    0,
  176.     0,  147,    0, 4046, 4046,    0,    0,    0, 4046,    0,
  177. };
  178. short yyrindex[] = {                                      0,
  179.     0, 2000,    0,    0,    0,    0,  189,    0,    0,    0,
  180.     0,   56,    0, 3312,    0, 2591,    0,    0,    0,    0,
  181.     0,    0,    1,    0,    0,    0,    0,    0,    0,    0,
  182.     0,    0,    0,    0,    0,    0, 2138,    0, 1930, 1209,
  183.  3755,    0,    0,    0, 1818, 1394,    0,    0,    0,  151,
  184.     0,    0, 3707,  111,    0,    0,  381,    0,    0,    0,
  185.     0,  151,  100,    0,    0,    0,  564,  834,  889,    0,
  186.     0,    0,  436, 5378,    0,  -49,  -46,  -43,    0, 2195,
  187.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  188.  2084,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  189.     0,    0, 5378, 5378,    0,    0,    0,    0,  -22,    0,
  190.     0,    0,    0, 2639,    0,    0,    0,    0,    0,    0,
  191.   151,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  192.     0,    0,    0, 5378,    0,    0,    0, 1872,    0,    0,
  193.  2878, 2923, 2968, 3037,    0, 1719, 1770,  943, 1016, 1286,
  194.  1340, 2536, 1664,    0,    0,    0,    0,    0,    0,    0,
  195.     0, 3245,    0,    0,    0,    0,    0,    0,    0,    0,
  196.     0,    0,    0,    0,   67,   67,    0,    0,    0,  -34,
  197.     0,    0,    0,   12,    0,    0,    0,    0,    0,  101,
  198.     0,    0,    0,    0,    0,  491,    0,    0,    0,    0,
  199.     0, 3360, 3432,    0,    0,    0,    0,    0,    0,    0,
  200.     0,    0,    0, 4091,  104,  172,    0,    0,  136,  241,
  201.   247,    0,    0, 5378, 4146,    0,    0,    0,    0,    0,
  202.     0, 3520, 3640, 2266,    0,    0,    0,    0,    0,    0,
  203.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  204.     0,    0,    0,    0,    0,    0,    0,  137,    0,    0,
  205.     0,  100,    0, 4220, 4411, 4485, 4530, 4576,    0,    0,
  206.     0,    0,    0,    0,    0,    0,  296,  357,    0,    0,
  207.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  208.     0, 5378,    0,    0,    0,    0,  153,    0,    0,    0,
  209.  4841,    0, 5643,    0,    0,    0,  153,    0,    0,    0,
  210.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  211. };
  212. short yygindex[] = {                                      0,
  213.   -15,    0,    0, 3236,  -67,    0,    0,    0,    0,  -29,
  214.   171, 4012,  -19,    4,   14, 7669, 7480,   -4,    0,    0,
  215.     0, -113, -201,    0, -232,  -18,
  216. };
  217. #define YYTABLESIZE 7947
  218. short yytable[] = {                                     130,
  219.    82,  279,   82,  280,   97,  313,  121,  307,    6,   95,
  220.    93,   82,   94,   17,   96,   76,   18,  259,   16,   19,
  221.   107,   82,   80,   82,  121,   82,  275,   82,  252,   97,
  222.    85,   47,  122,  123,   95,  154,  155,   82,   77,   96,
  223.    82,   82,   82,   82,   82,   82,  110,   82,   78,   82,
  224.   158,   98,  124,  112,  100,   60,  101,  102,   82,   82,
  225.    82,   98,   82,   82,  306,   56,  194,  101,  102,   99,
  226.   124,   23,  235,   49,  312,  236,  229,  126,  127,   99,
  227.    50,   55,   32,   33,   48,   58,   98,   59,   76,   60,
  228.   253,  169,   60,   82,   82,  259,   60,   60,   60,   60,
  229.    60,   61,   60,  110,   99,  259,   63,   88,  261,   62,
  230.    87,   77,   82,   60,   60,   60,   64,   60,   60,   65,
  231.    79,   78,  112,   82,   82,   88,  121,   81,   88,  131,
  232.   115,   99,  132,  133,  145,  152,  157,  163,  165,  170,
  233.   204,  114,  211,  171,  116,  215,  216,   87,   60,   60,
  234.    87,   87,   87,   87,  217,   87,  263,   87,  218,  114,
  235.   219,  223,  116,   84,  126,  127,  245,   60,   87,   87,
  236.    87,  262,   87,   87,  282,  286,  283,   40,   60,   60,
  237.   303,  304,  305,  299,  234,  310,  311,  316,    1,  300,
  238.    88,   88,   88,  113,  113,  114,    0,  255,    0,   70,
  239.   317,  318,    0,   87,   87,  320,    0,    0,    0,    3,
  240.     4,    5,  118,    0,    0,    0,    0,    0,    0,    0,
  241.     0,    0,   87,    0,  302,  121,  121,  121,   83,   84,
  242.   118,  251,  284,   87,   87,    0,    0,   83,   84,   17,
  243.    17,   92,   18,   18,    0,   19,   19,   83,   84,   83,
  244.    84,   83,   84,   83,   84,  138,    0,   82,   82,   82,
  245.    82,   82,   82,   82,   82,   82,   16,   16,   82,   82,
  246.   153,  124,  124,  124,   82,   83,   84,  226,  227,  228,
  247.    82,  122,   82,   82,   82,   82,   82,  125,   82,   82,
  248.    82,   82,   82,   82,   82,   82,   82,   23,   82,  122,
  249.    82,   82,   82,   82,   82,  125,  196,  197,   32,   33,
  250.     0,    0,   60,   60,   60,   60,   60,   60,   60,   60,
  251.    60,    0,    0,   60,   60,    0,   88,   88,   88,   60,
  252.     0,   88,    0,    0,    0,   60,  115,   60,   60,   60,
  253.    60,   60,    0,   60,   60,   60,   60,   60,   60,   60,
  254.    60,   60,    0,   60,  115,   60,   60,   60,   60,   60,
  255.   114,  114,  114,  116,  116,  116,    0,   87,   87,   87,
  256.    87,   87,   87,   87,   87,   87,    0,    0,   87,   87,
  257.    55,    0,    0,    0,   87,    0,    0,  256,  257,    0,
  258.    87,    0,   87,   87,   87,   87,   87,  117,   87,   87,
  259.    87,   87,   87,   87,   87,   87,   87,    0,   87,    0,
  260.    87,   87,   87,   87,   87,  117,    0,   55,    0,    0,
  261.    55,   55,   55,   55,   55,   55,    0,   55,    0,    0,
  262.     0,  118,  118,  118,    0,   85,    0,    0,   55,   55,
  263.     0,    0,   55,   55,    0,    0,    0,    0,    0,    0,
  264.     0,    0,  298,    0,    0,    0,    0,    0,    0,    0,
  265.     0,    0,    0,    0,    0,    0,    0,    0,    0,  308,
  266.     0,    0,   85,   55,   55,   85,   85,   85,   85,   85,
  267.    85,    0,   85,    0,    0,    0,    0,    0,    0,    0,
  268.    23,    0,   55,   85,   85,   85,    0,   85,   85,    0,
  269.   122,  122,  122,   55,   55,    0,  125,  125,  125,    0,
  270.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  271.     0,    0,    0,    0,    0,    0,    0,   23,   85,   85,
  272.    23,   23,   23,   23,   23,   23,    0,   23,    0,    0,
  273.     0,    0,    0,    0,    0,    0,    0,    0,   23,   23,
  274.    23,    0,   23,   23,    0,  115,  115,  115,   85,   85,
  275.     0,    0,    0,   52,    0,    0,    0,    0,    0,    0,
  276.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  277.     0,    0,    0,   23,   23,    0,    0,    0,    0,    0,
  278.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  279.    52,    0,   23,   52,   52,   52,   52,   52,   52,    0,
  280.    52,    0,    0,   23,   23,    0,  117,  117,  117,    0,
  281.     0,   52,   52,   52,    0,   52,   52,    0,    0,    0,
  282.     0,    0,    0,    0,    0,    0,    0,   55,   55,   55,
  283.    55,   55,   55,   55,   55,   55,    0,    0,   55,   55,
  284.     0,    0,    0,    0,   55,    0,   52,    0,    0,    0,
  285.    55,    0,   55,   55,   55,   55,   55,    0,   55,   55,
  286.    55,   55,   55,   55,   55,   55,   55,    0,   55,    0,
  287.    55,   55,   55,   55,   55,    0,   52,   52,    0,    0,
  288.     0,    0,   85,   85,   85,   85,   85,   85,   85,   85,
  289.    85,    0,    0,   85,   85,    0,    0,    0,    0,   85,
  290.     0,    0,    0,    0,    0,   85,    0,   85,   85,   85,
  291.    85,   85,    0,   85,   85,   85,   85,   85,   85,   85,
  292.    85,   85,    0,   85,    0,   85,   85,   85,   85,   85,
  293.     0,    0,    0,    0,    0,    0,    0,   23,   23,   23,
  294.    23,   23,   23,   23,   23,   23,    0,    0,   23,   23,
  295.     0,    0,    0,    0,   23,    0,    0,    0,    0,    0,
  296.    23,    0,   23,   23,   23,   23,   23,    0,   23,   23,
  297.     0,   23,   23,   23,   23,   23,   23,    0,   23,    0,
  298.    23,   23,   23,   23,   23,    0,    0,    0,    0,    0,
  299.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  300.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  301.    52,   52,   52,   52,   52,   52,   52,   52,   52,    0,
  302.     0,   52,   52,   37,    0,    0,    0,   52,    0,    0,
  303.     0,    0,    0,   52,    0,   52,   52,   52,   52,   52,
  304.     0,   52,   52,   52,   52,   52,   52,   52,   52,   52,
  305.     0,   52,    0,   52,   52,   52,   52,   52,    0,    0,
  306.    37,    0,    0,   37,   37,   37,   37,   37,   37,    0,
  307.    37,    0,    0,    0,    0,    0,    0,    0,   51,    0,
  308.     0,   37,   37,   37,    0,   37,   37,    0,    0,    0,
  309.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  310.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  311.     0,    0,    0,    0,    0,   51,   37,   37,   51,   51,
  312.    51,   51,   51,   51,    0,   51,    0,    0,    0,    0,
  313.     0,    0,   42,    0,    0,   37,   51,   51,   51,    0,
  314.    51,   51,    0,    0,    0,    0,   37,   37,    0,    0,
  315.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  316.     0,    0,    0,    0,    0,    0,    0,    0,    0,   42,
  317.     0,   51,   42,   42,   42,   42,   42,   42,    0,   42,
  318.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  319.    42,   42,   42,    0,   42,   42,    0,    0,    0,    0,
  320.     0,   51,   51,    0,    0,   43,    0,    0,    0,    0,
  321.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  322.     0,    0,    0,    0,    0,   42,    0,    0,    0,    0,
  323.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  324.     0,    0,   43,    0,    0,   43,   43,   43,   43,   43,
  325.    43,    0,   43,    0,    0,   42,   42,    0,    0,    0,
  326.     0,    0,    0,   43,   43,   43,    0,   43,   43,    0,
  327.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  328.    37,   37,   37,   37,   37,   37,   37,   37,   37,    0,
  329.     0,   37,   37,    0,    0,    0,    0,   37,   43,    0,
  330.     0,    0,    0,   37,    0,   37,   37,   37,   37,   37,
  331.     0,   37,   37,   37,   37,   37,   37,   37,   37,   37,
  332.     0,   37,    0,   37,    0,    0,   37,   37,   43,   43,
  333.     0,    0,    0,    0,    0,   51,   51,   51,   51,   51,
  334.    51,   51,   51,   51,    0,    0,   51,   51,    0,    0,
  335.     0,    0,   51,    0,    0,    0,    0,    0,   51,    0,
  336.    51,   51,   51,   51,   51,    0,   51,   51,   51,   51,
  337.    51,   51,   51,   51,   51,    0,   51,    0,   51,   51,
  338.    51,   51,   51,    0,    0,    0,    0,    0,    0,   42,
  339.    42,   42,   42,   42,   42,   42,   42,   42,   14,    0,
  340.    42,   42,    0,    0,    0,    0,   42,    0,    0,    0,
  341.     0,    0,   42,    0,   42,   42,   42,   42,   42,    0,
  342.    42,   42,   42,   42,   42,   42,   42,   42,   42,    0,
  343.    42,    0,   42,   42,   42,   42,   42,    0,   14,    0,
  344.     0,   14,    0,   14,    0,    0,    0,    0,    0,    0,
  345.     0,    0,    0,    0,    0,    0,    0,   14,    0,    0,
  346.     0,    0,   43,   43,   43,   43,   43,   43,   43,   43,
  347.    43,    0,    0,   43,   43,   44,    0,    0,    0,   43,
  348.     0,    0,    0,    0,    0,   43,    0,   43,   43,   43,
  349.    43,   43,    0,   43,   43,   43,   43,   43,   43,   43,
  350.    43,   43,    0,   43,    0,   43,   43,   43,   43,   43,
  351.     0,    0,   44,    0,    0,   44,   44,   44,   44,   44,
  352.    44,   14,   44,    0,    0,    0,    0,    0,    0,   45,
  353.     0,    0,    0,   44,   44,   44,    0,   44,   44,    0,
  354.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  355.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  356.     0,    0,    0,    0,    0,    0,   45,    0,   44,   45,
  357.    45,   45,   45,   45,   45,    0,   45,    0,    0,    0,
  358.     0,    0,    0,   37,    0,    0,    0,   45,   45,   45,
  359.     0,   45,   45,    0,    0,    0,    0,    0,   44,   44,
  360.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  361.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  362.    37,    0,   45,   37,   37,   37,   37,   37,   37,    0,
  363.    37,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  364.     0,   37,   37,   37,    0,   37,   37,    0,    0,    0,
  365.     0,    0,   45,   45,    0,   14,   14,   14,   14,   14,
  366.    14,   14,   14,    0,    0,    0,   14,   14,    0,    0,
  367.     0,    0,    0,    0,    0,    0,   37,   37,   14,    0,
  368.    14,   14,   14,   14,   14,    0,    0,    0,    0,   14,
  369.    14,   14,   14,    0,    0,   37,   14,    0,   14,   14,
  370.    14,   14,   14,    0,    0,    0,   37,   37,    0,    0,
  371.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  372.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  373.     0,    0,   44,   44,   44,   44,   44,   44,   44,   44,
  374.    44,    0,    0,   44,   44,    0,    0,    0,    0,   44,
  375.     0,   66,    0,    0,   27,   44,   28,   44,   44,   44,
  376.    44,   44,    0,   44,   44,   44,   44,   44,   44,   44,
  377.    44,   44,    0,   44,    0,   44,   44,   44,   44,   44,
  378.     0,    0,    0,    0,    0,    0,   45,   45,   45,   45,
  379.    45,   45,   45,   45,   45,    0,    0,   45,   45,    0,
  380.     0,    0,    0,   45,    0,    0,    0,    0,    0,   45,
  381.     0,   45,   45,   45,   45,   45,    0,   45,   45,   45,
  382.    45,   45,   45,   45,   45,   45,    0,   45,    0,   45,
  383.    45,   45,   45,   45,   35,    0,    0,   27,    0,   28,
  384.    37,   37,   37,   37,   37,   37,   37,   37,   37,    0,
  385.     0,   37,   37,   36,    0,    0,    0,   37,    0,    0,
  386.     0,    0,    0,   37,    0,   37,   37,   37,   37,   37,
  387.     0,    0,   37,   37,   37,   37,   37,   37,   37,   37,
  388.     0,   37,    0,   37,    0,    0,   37,   37,    0,    0,
  389.    36,    0,    0,   36,   36,   36,   36,   36,   36,    0,
  390.    36,    0,    0,    0,    0,    0,    0,    0,   40,    0,
  391.     0,   36,   36,   36,    0,   36,    0,    0,    0,    0,
  392.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  393.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  394.     0,    0,    0,    0,    0,    0,   36,   36,   40,   40,
  395.     0,   40,   40,   40,    0,    0,    0,    0,    0,   41,
  396.     0,    0,    0,    0,    0,   36,   40,   40,   40,    0,
  397.    40,   40,    0,    0,   12,   13,   36,   36,    0,   14,
  398.    15,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  399.     0,   16,    0,   17,   18,   19,    0,   21,    0,   41,
  400.    41,   40,   41,   41,   41,    0,    0,   33,    0,   26,
  401.     0,    0,   30,   31,   32,   33,    0,   41,   41,   41,
  402.     0,   41,   41,    0,    0,    0,    0,    0,    0,    0,
  403.     0,   40,   40,    0,    0,    0,    0,    0,    0,    0,
  404.     0,    0,    0,    0,    0,    0,    0,   33,   33,    0,
  405.     0,   33,   41,   11,    0,  126,  127,   12,   13,    0,
  406.     0,   15,   14,   15,    0,   33,   33,   33,    0,   33,
  407.    33,    0,    0,    0,   16,    0,   17,   18,   19,    0,
  408.    21,    0,   41,   41,    0,   22,   23,   24,   25,    0,
  409.     0,    0,   26,    0,   29,   30,   31,   32,   33,    0,
  410.    33,   15,    0,    0,   15,    0,   15,    0,    0,    0,
  411.    36,   36,   36,   36,   36,   36,   36,   36,   36,    7,
  412.    15,   36,   36,    0,    0,    0,    0,   36,    0,    0,
  413.    33,   33,    0,   36,    0,   36,   36,   36,   36,   36,
  414.     0,   36,    0,    0,   36,   36,   36,   36,   36,   36,
  415.     0,   36,    0,   36,   36,   36,   36,   36,    0,    7,
  416.     0,    0,    7,    0,    7,   40,   40,   40,   40,   40,
  417.    40,   40,   40,   40,    0,    0,   40,   40,    7,    0,
  418.     0,    0,   40,    0,   15,    0,    0,    0,   40,    6,
  419.    40,   40,   40,   40,   40,    0,   40,   40,   40,   40,
  420.    40,   40,   40,   40,   40,    0,   40,    0,   40,   40,
  421.    40,   40,   40,    0,    0,    0,   41,   41,   41,   41,
  422.    41,   41,   41,   41,   41,    0,    0,   41,   41,    6,
  423.     0,    0,    6,   41,    6,    0,    0,    0,    0,   41,
  424.     0,   41,   41,   41,   41,   41,    0,   41,   41,   41,
  425.    41,   41,   41,   41,   41,   41,    0,   41,    0,   41,
  426.    41,   41,   41,   41,   33,   33,   33,   33,   33,   33,
  427.    33,   33,   33,   34,    0,   33,   33,    0,    0,    0,
  428.     0,    0,    0,    0,    0,    0,    0,   33,    0,   33,
  429.    33,   33,   33,   33,    0,   33,   33,   33,   33,   33,
  430.    33,   33,   33,   33,    0,   33,    0,   33,   33,   33,
  431.    33,   33,    6,   34,   34,    0,    0,   34,   15,   15,
  432.    15,   15,   15,   15,   15,   15,    0,   12,    0,   15,
  433.    15,   34,   34,   34,    0,   34,   34,    0,    0,    0,
  434.     0,   15,    0,   15,   15,   15,   15,   15,    0,    0,
  435.     0,    0,   15,   15,   15,   15,    0,    0,    0,   15,
  436.     0,   15,   15,   15,   15,   15,   34,   12,    0,    0,
  437.    12,    0,   12,    0,    0,    0,    7,    7,    7,    7,
  438.     7,    7,    7,    7,    5,    0,   12,    7,    7,    0,
  439.     0,    0,    0,    0,    0,    0,   34,   34,    0,    7,
  440.     0,    7,    7,    7,    7,    7,    0,    0,    0,    0,
  441.     7,    7,    7,    7,    0,    0,    0,    7,    0,    7,
  442.     7,    7,    7,    7,    5,    0,    0,    5,    0,    5,
  443.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  444.     0,    0,    0,    0,    0,    0,    6,    6,    6,    0,
  445.    12,    0,    6,    6,    0,    2,    0,    6,    6,    0,
  446.     0,    0,    0,    0,    0,    0,    0,    0,    0,    6,
  447.     0,    6,    6,    6,    6,    6,    0,    0,    0,    0,
  448.     6,    6,    6,    6,    0,    0,    0,    6,    0,    6,
  449.     6,    6,    6,    6,    0,    2,    0,    0,    2,    0,
  450.     2,    0,    0,    0,    0,    0,    0,    5,    0,    0,
  451.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  452.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  453.    34,   34,   34,   34,   34,   34,   34,   34,   34,    0,
  454.     0,   34,   34,    0,    0,    0,    0,    0,    0,    0,
  455.     0,    0,    0,   34,    0,   34,   34,   34,   34,   34,
  456.     0,   34,   34,   34,   34,   34,   34,   34,   34,   34,
  457.     0,   34,    0,   34,   34,   34,   34,   34,    2,    0,
  458.     0,    0,    0,    0,   12,   12,   12,   12,    0,   12,
  459.    12,   12,    0,    0,    0,   12,   12,    0,    0,    0,
  460.     0,    0,    0,    0,    0,    0,    0,   12,    0,   12,
  461.    12,   12,   12,   12,    0,    0,    0,    0,   12,   12,
  462.    12,   12,    0,    0,    0,   12,    0,   12,   12,   12,
  463.    12,   12,    0,    0,    0,    0,    0,    0,    0,    0,
  464.     0,    5,    5,    5,    0,    0,    0,    5,    5,    0,
  465.     0,    0,    5,    5,    0,    0,   66,  237,    0,   27,
  466.   238,   28,    0,    0,    5,    0,    5,    5,    5,    5,
  467.     5,    0,    0,    0,    0,    5,    5,    5,    5,   86,
  468.     0,    0,    5,    0,    5,    5,    5,    5,    5,    0,
  469.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  470.     0,    0,    0,   66,  239,    0,   27,  240,   28,    0,
  471.     0,    0,    2,    2,    2,    0,    0,    0,    2,    2,
  472.     0,    0,    0,    2,    2,   58,   86,    0,    0,    0,
  473.     0,    0,    0,    0,    0,    2,    0,    2,    2,    2,
  474.     2,    2,    0,    0,    0,    0,    2,    2,    2,    2,
  475.     0,    0,    0,    2,    0,    2,    2,    2,    2,    2,
  476.     0,    0,   58,    0,    0,   58,   58,   58,   58,   58,
  477.    58,    0,   58,    0,    0,    0,    0,    0,    0,    0,
  478.    54,    0,    0,   58,   58,   58,    0,   58,   58,    0,
  479.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  480.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  481.     0,    0,    0,    0,    0,    0,    0,   54,   58,   58,
  482.    54,   54,   54,   54,   54,   54,    0,   54,   56,    0,
  483.     0,    0,    0,    0,    0,    0,    0,   58,   54,   54,
  484.     0,    0,   54,   54,    0,    0,    0,    0,   58,   58,
  485.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  486.     0,    0,    0,    0,    0,   56,    0,    0,    0,   56,
  487.    56,    0,   56,   54,   54,   56,    0,    0,    0,   12,
  488.    13,    0,    0,    0,   14,   15,   56,   56,   56,    0,
  489.    56,   56,   54,    0,    0,    0,   16,    0,   17,   18,
  490.    19,    0,   21,   54,   54,    0,    0,   22,   23,   24,
  491.    25,    0,    0,    0,   26,    0,    0,   30,   31,   32,
  492.    33,   56,   56,    0,    0,    0,   12,   13,    0,    0,
  493.     0,   14,   15,    0,    0,    0,    0,    0,    0,    0,
  494.    56,    0,    0,   16,    0,   17,   18,   19,    0,   21,
  495.     0,   56,   56,    0,   22,   23,   24,   25,    0,    0,
  496.     0,   26,    0,    0,   30,   31,   32,   33,    0,    0,
  497.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  498.     0,    0,   58,   58,   58,   58,   58,   58,   58,   58,
  499.    58,    0,    0,   58,   58,    0,    0,    0,    0,   58,
  500.     0,    0,    0,    0,    0,   58,    0,   58,   58,   58,
  501.    58,   58,    0,   58,   58,   58,   58,    0,   58,   58,
  502.    58,   58,    0,   58,    0,   58,   58,   58,    0,    0,
  503.     0,    0,    0,    0,    0,    0,    0,   54,   54,   54,
  504.    54,   54,   54,   54,   54,   54,    0,    0,   54,   54,
  505.     0,    0,    0,    0,   54,    0,    0,    0,    0,    0,
  506.    54,    0,   54,   54,   54,   54,   54,   29,   54,   54,
  507.    54,   54,    0,   54,   54,   54,   54,    0,   54,    0,
  508.    54,   54,   54,    0,    0,   56,   56,   56,   56,   56,
  509.    56,    0,    0,   56,    0,    0,    0,    0,    0,    0,
  510.     0,    0,   56,    0,   29,    0,    0,    0,   29,   29,
  511.     0,   29,   25,   56,   29,    0,   56,   56,   56,   56,
  512.    56,   56,   56,   56,   56,   29,   29,   29,   56,   29,
  513.    29,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  514.     0,    0,    0,    0,    0,    0,    0,    0,    0,   25,
  515.     0,    0,    0,   25,   25,    0,   25,   27,    0,   25,
  516.    29,   29,    0,    0,    0,    0,    0,    0,    0,    0,
  517.    25,   25,   25,    0,   25,   25,    0,    0,    0,   29,
  518.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  519.    29,   29,    0,    0,   27,    0,    0,    0,   27,   27,
  520.     0,   27,    0,    0,   27,   25,   25,    0,    0,    0,
  521.     0,    0,    0,    0,    0,   27,   27,   27,    0,   27,
  522.    27,    0,    0,    0,   25,    0,   26,    0,    0,    0,
  523.     0,    0,    0,    0,    0,   25,   25,    0,    0,    0,
  524.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  525.    27,   27,    0,    0,    0,    0,    0,    0,    0,    0,
  526.     0,    0,    0,   26,    0,    0,    0,   26,   26,   27,
  527.    26,    0,    0,   26,    0,    0,    0,    0,    0,    0,
  528.    27,   27,    0,    0,   26,   26,   26,    0,   26,   26,
  529.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  530.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  531.     0,    0,    0,    0,    0,    0,    0,    0,    0,   26,
  532.    26,    0,    0,    0,   29,   29,   29,   29,   29,   29,
  533.     0,    0,   29,    0,    0,    0,    0,    0,   26,    0,
  534.     0,   29,    0,    0,    0,    0,    0,    0,    0,   26,
  535.    26,    0,   29,    0,    0,   29,   29,   29,   29,   29,
  536.    29,   29,   29,   29,    0,    0,    0,   29,    0,   25,
  537.    25,   25,   25,   25,   25,    0,    0,   25,    0,    0,
  538.     0,    0,    0,    0,    0,    0,   25,    0,    0,    0,
  539.     0,    0,    0,    0,    0,    0,    0,   25,    0,    0,
  540.    25,   25,   25,   25,   25,   25,   25,   25,   25,    0,
  541.     0,    0,   25,    0,   27,   27,   27,   27,   27,   27,
  542.     0,    0,   27,    0,    0,    0,    0,    0,    0,    0,
  543.     0,   27,    0,    0,   57,    0,    0,    0,    0,    0,
  544.     0,    0,   27,    0,    0,   27,   27,   27,   27,   27,
  545.    27,   27,   27,   27,    0,    0,    0,   27,    0,    0,
  546.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  547.     0,   57,  103,  104,    0,   57,   57,    0,   57,    0,
  548.     0,   57,    0,   26,   26,   26,   26,   26,   26,    0,
  549.     0,   26,   57,   57,   57,    0,   57,   57,    0,    0,
  550.    26,   88,    0,    0,    0,    0,  134,    0,  136,  137,
  551.     0,   26,    0,    0,   26,   26,   26,   26,   26,   26,
  552.    26,   26,   26,    0,    0,    0,   26,   57,   57,    0,
  553.     0,    0,    0,    0,    0,    0,  159,  160,   88,    0,
  554.     0,    0,   88,   88,    0,   88,   57,    0,   88,   89,
  555.     0,    0,    0,    0,    0,    0,    0,   57,   57,   88,
  556.    88,   88,    0,   88,   88,    0,    0,    0,    0,    0,
  557.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  558.     0,    0,    0,    0,    0,    0,   89,    0,    0,    0,
  559.    89,   89,    0,   89,   88,   88,   89,    0,    0,  214,
  560.     0,    0,    0,    0,    0,    0,    0,   89,   89,   89,
  561.   222,   89,  224,   88,  225,    0,    0,    0,    0,    0,
  562.     0,   90,    0,    0,   88,   88,    0,    0,    0,    0,
  563.     0,    0,    0,    0,    0,    0,  247,    0,    0,    0,
  564.     0,    0,   89,   89,    0,    0,    0,    0,    0,    0,
  565.     0,  264,  265,  266,  267,  268,    0,    0,   90,    0,
  566.     0,   89,   90,   90,    0,   90,    0,    0,   90,    0,
  567.     0,    0,   89,   89,    0,    0,    0,    0,    0,   90,
  568.    90,   90,    0,   90,    0,    0,    0,    0,    0,    0,
  569.     0,   57,   57,   57,   57,   57,   57,    0,    0,   57,
  570.   292,    0,    0,    0,  294,  295,  296,    0,   57,   20,
  571.   301,    0,    0,    0,   90,   90,    0,    0,    0,   57,
  572.     0,    0,   57,   57,   57,   57,   57,   57,   57,   57,
  573.    57,    0,    0,   90,   57,  314,  315,    0,    0,    0,
  574.     0,  319,    0,    0,   90,   90,   20,    0,    0,    0,
  575.    20,   20,    0,   20,    0,    0,   20,    0,   88,   88,
  576.    88,   88,   88,   88,    0,    0,   88,   20,   20,   20,
  577.     0,   20,    0,    0,    0,   88,    0,    0,    0,    0,
  578.     0,    0,    0,    0,    0,    0,   88,    0,    0,   88,
  579.    88,   88,    0,    0,    0,    0,   88,   88,    0,    0,
  580.     0,   88,   20,   20,    0,    0,   89,   89,   89,   89,
  581.    89,   89,    0,    0,   89,    0,    0,    0,    0,   66,
  582.   156,   20,   27,   89,   28,    0,    0,    0,    0,   35,
  583.     0,    0,   20,   20,   89,    0,    0,   89,   89,   89,
  584.     0,    0,   86,    0,   89,   89,    0,    0,    0,   89,
  585.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  586.     0,    0,    0,    0,    0,    0,   35,    0,    0,    0,
  587.    35,   35,    0,   35,    0,    0,   35,    0,   90,   90,
  588.    90,   90,   90,   90,    0,    0,   90,   35,   35,   35,
  589.     0,   35,    0,    0,    0,   90,   86,    0,    0,    0,
  590.     0,    0,    0,    0,    0,    0,   90,    0,    0,   90,
  591.    90,   90,    0,    0,    0,    0,   90,   90,    0,    0,
  592.     0,   90,   35,   35,    0,    0,    0,    0,    0,    0,
  593.     0,    0,    0,   86,    0,    0,    0,   86,   86,    0,
  594.     0,   35,    0,   86,   16,    0,    0,    0,    0,    0,
  595.     0,    0,   35,   35,   86,   86,   86,    0,   86,    0,
  596.     0,    0,    0,    0,    0,    0,   20,   20,   20,   20,
  597.    20,   20,    0,    0,   20,    0,    0,    0,    0,    0,
  598.     0,   16,    0,   20,    0,   16,   16,    0,   16,   86,
  599.    86,   16,    0,    0,   20,    0,    0,   20,   20,   20,
  600.     0,    0,   16,   16,   20,   20,    0,    0,   86,   20,
  601.     0,    0,    0,    0,    0,    0,    0,    0,    0,   86,
  602.    86,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  603.     0,    0,    0,    0,    0,    0,    0,   16,   16,    0,
  604.     0,    0,   12,   13,    0,    0,    0,   14,   15,    0,
  605.     0,    0,    0,    0,    0,    0,   16,    0,    0,   16,
  606.     0,   17,   18,   19,    0,   21,    0,   16,   16,    0,
  607.    22,   23,   24,   25,    0,    0,    0,   26,    0,    0,
  608.    30,   31,   32,   33,    0,    0,   35,   35,   35,   35,
  609.    35,   35,    0,    0,   35,    0,    0,    0,    0,    0,
  610.     0,    0,    0,   35,    0,    0,    0,    0,    0,    0,
  611.     0,    0,    0,    0,   35,    0,    0,   35,   35,   35,
  612.     0,    0,    0,    0,   35,   35,    0,    0,    0,   35,
  613.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  614.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  615.     0,    0,    0,   86,   86,   86,   86,   86,   86,    0,
  616.     0,   86,    0,    0,    0,    0,    0,    0,    0,    0,
  617.    86,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  618.     0,   86,    0,    0,   86,   86,   86,    0,    0,    0,
  619.     0,   86,   86,    0,    0,    0,   86,    0,    0,    0,
  620.     0,   16,   16,   16,   16,   16,   16,    0,   41,   16,
  621.     0,    0,    0,    0,    0,   53,    0,    0,   16,    0,
  622.     0,    0,    0,    0,    0,    0,    0,    0,    0,   16,
  623.    41,    0,   16,   16,   16,    0,   41,    0,    0,    0,
  624.     0,    0,    0,    0,   16,    0,    0,    0,    0,    0,
  625.   106,   53,  109,    0,    0,    0,  113,  114,    0,  117,
  626.   119,  120,    0,   53,   53,  124,  125,   41,    0,    0,
  627.     0,    0,    0,    0,    0,   66,    0,    0,   27,    0,
  628.    28,    0,    0,  135,    0,    0,   41,  139,  141,  142,
  629.   143,  144,    0,    0,  189,    0,    0,    0,    0,    0,
  630.     0,   41,    0,    0,    0,    0,    0,    0,    0,  109,
  631.     0,    0,    0,    0,    0,    0,  162,    0,    0,    0,
  632.   110,    0,   53,  110,    0,  110,    0,    0,    0,    0,
  633.     0,    0,    0,    0,    0,    0,    0,   41,   41,  110,
  634.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  635.     0,    0,    0,    0,    0,    0,    0,    0,  187,    0,
  636.   202,  203,    0,    0,  205,  206,  207,  208,  210,    0,
  637.     0,    0,    0,  212,  213,  109,   53,   53,  109,    0,
  638.   109,  220,    0,    0,    0,  221,    0,    0,    0,    0,
  639.     0,    0,    0,    0,  109,    0,  232,    0,    0,  233,
  640.     0,    0,    0,  110,    0,  110,    0,    0,    0,    0,
  641.     0,    0,    0,    0,    0,    0,    0,    0,   41,   41,
  642.   258,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  643.     0,    0,    0,    0,    0,    0,    0,  270,    0,  271,
  644.     0,  272,    0,  273,    0,  274,    0,    0,    0,  103,
  645.   276,    0,  103,    0,  103,  277,  278,    0,  109,    0,
  646.   109,    0,    0,   53,    0,    0,    0,    0,  103,    0,
  647.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  648.     0,    0,    0,   41,    0,    0,    0,    0,    0,    0,
  649.     0,    0,    0,    0,    0,  174,  126,  127,   12,   13,
  650.    41,  175,  176,   14,   15,  177,    0,  178,  179,    0,
  651.   180,  181,  182,  183,  184,   16,  185,   17,   18,   19,
  652.     0,   21,  186,    0,    0,    0,   22,   23,   24,   25,
  653.     0,    0,  103,   26,  103,    0,   30,   31,   32,   33,
  654.   110,    0,    0,  110,  110,    0,  110,  110,  110,  110,
  655.   110,  110,  110,  110,    0,  110,  110,  110,  110,  110,
  656.   110,  110,  110,  110,  110,    0,  110,  110,    0,    0,
  657.     0,  110,  110,  110,  110,    0,    0,    0,  110,    0,
  658.     0,  110,  110,  110,  110,    0,    0,    0,    0,    0,
  659.     0,    0,    0,    0,    0,  109,    0,    0,  109,  109,
  660.     0,  109,  109,  109,  109,  109,  109,  109,  109,    0,
  661.   109,  109,  109,  109,  109,  109,  109,  109,  109,  109,
  662.     0,  109,  109,    0,    0,    0,  109,  109,  109,  109,
  663.     0,    0,    0,  109,    0,    0,  109,  109,  109,  109,
  664.   104,    0,    0,  104,    0,  104,    0,    0,    0,    0,
  665.     0,    0,    0,    0,    0,    0,    0,    0,    0,  104,
  666.     0,    0,    0,    0,    0,    0,    0,    0,    0,  103,
  667.     0,    0,  103,  103,    0,  103,  103,  103,  103,  103,
  668.   103,  103,  103,    0,  103,  103,  103,  103,  103,  103,
  669.   103,  103,  103,  103,    0,  103,  103,    0,    0,    0,
  670.   103,  103,  103,  103,    0,    0,    0,  103,    0,    0,
  671.   103,  103,  103,  103,  105,    0,    0,  105,    0,  105,
  672.     0,    0,    0,  104,    0,  104,    0,    0,    0,    0,
  673.     0,    0,    0,  105,    0,    0,    0,    0,    0,    0,
  674.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  675.     0,    0,    0,    0,    0,    0,    0,    0,    0,  102,
  676.     0,    0,  102,    0,  102,    0,    0,    0,    0,    0,
  677.     0,    0,    0,    0,    0,    0,    0,    0,  102,    0,
  678.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  679.     0,    0,    0,    0,    0,    0,    0,  105,    0,  105,
  680.     0,    0,    0,    0,    0,  108,    0,    0,  108,    0,
  681.   108,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  682.     0,    0,    0,    0,  108,    0,    0,    0,    0,    0,
  683.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  684.     0,    0,  102,    0,  102,    0,    0,    0,   66,  105,
  685.     0,   27,    0,   28,    0,    0,    0,    0,    0,    0,
  686.   104,    0,    0,  104,  104,    0,  104,  104,  104,  104,
  687.   104,  104,  104,  104,    0,  104,  104,  104,  104,  104,
  688.   104,  104,  104,  104,  104,    0,  104,  104,  108,    0,
  689.   108,  104,  104,  104,  104,    0,    0,    0,  104,    0,
  690.     0,  104,  104,  104,  104,    0,    0,    0,    0,    0,
  691.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  692.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  693.     0,    0,    0,    0,  105,    0,    0,  105,  105,    0,
  694.   105,  105,  105,  105,  105,  105,  105,  105,    0,  105,
  695.   105,  105,  105,  105,  105,  105,  105,  105,  105,    0,
  696.   105,  105,    0,    0,    0,  105,  105,  105,  105,    0,
  697.     0,    0,  105,    0,    0,  105,  105,  105,  105,  102,
  698.     0,    0,  102,  102,    0,  102,  102,  102,  102,  102,
  699.   102,  102,  102,    0,  102,  102,  102,  102,  102,  102,
  700.   102,  102,  102,  102,   35,  102,  102,   27,    0,   28,
  701.   102,  102,  102,  102,    0,    0,    0,  102,    0,    0,
  702.   102,  102,  102,  102,    0,  108,    0,    0,  108,  108,
  703.     0,  108,  108,  108,  108,  108,  108,  108,  108,    0,
  704.   108,  108,  108,  108,  108,  108,  108,  108,  108,  108,
  705.     0,  108,  108,    0,    0,    0,  108,  108,  108,  108,
  706.     0,    0,    0,  108,    0,    0,  108,  108,  108,  108,
  707.   137,   12,   13,  137,    0,  137,   14,   15,    0,    0,
  708.     0,    0,    0,    0,    0,    0,    0,   34,   16,  137,
  709.    17,   18,   19,    0,   21,    0,    0,    0,    0,   22,
  710.    23,   24,   25,    0,    0,    0,   26,    0,    0,   30,
  711.    31,   32,   33,    0,    0,   66,    0,    0,   27,    0,
  712.    28,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  713.     0,    0,    0,    0,  189,    0,    0,    0,    0,    0,
  714.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  715.     0,    0,    0,  137,    0,  137,    0,    0,    0,    0,
  716.    66,    0,    0,   27,    0,   28,    0,    0,    0,    0,
  717.     0,    0,    0,    0,    0,    0,    0,    0,    0,  189,
  718.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  719.     0,    0,    0,    0,    0,    0,    0,    0,  187,    0,
  720.   188,    0,    0,    0,    0,    0,   66,    0,    0,   27,
  721.     0,   28,    0,    0,    0,    0,    0,    0,    0,    0,
  722.     0,    9,   10,   11,    0,  189,    0,   12,   13,    0,
  723.     0,    0,   14,   15,    0,    0,    0,    0,    0,    0,
  724.     0,    0,    0,  187,   16,  200,   17,   18,   19,   20,
  725.    21,    0,    0,    0,    0,   22,   23,   24,   25,    0,
  726.     0,    0,   26,    0,   29,   30,   31,   32,   33,    0,
  727.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  728.    35,    0,    0,   27,    0,   28,    0,    0,    0,  187,
  729.   137,  201,    0,  137,  137,    0,  137,  137,  137,  137,
  730.   137,  137,  137,  137,    0,  137,  137,  137,  137,  137,
  731.   137,  137,  137,  137,  137,    0,  137,  137,    0,    0,
  732.     0,  137,  137,  137,  137,    0,    0,    0,  137,    0,
  733.     0,  137,  137,  137,  137,  174,    0,    0,   12,   13,
  734.     0,  175,  176,   14,   15,  177,    0,  178,  179,    0,
  735.   180,  181,  182,  183,  184,   16,  185,   17,   18,   19,
  736.     0,   21,  186,    0,    0,    0,   22,   23,   24,   25,
  737.     0,    0,    0,   26,    0,    0,   30,   31,   32,   33,
  738.   174,    0,    0,   12,   13,    0,  175,  176,   14,   15,
  739.   177,    0,  178,  179,    0,  180,  181,  182,  183,  184,
  740.    16,  185,   17,   18,   19,    0,   21,  186,    0,    0,
  741.     0,   22,   23,   24,   25,    0,    0,    0,   26,    0,
  742.     0,   30,   31,   32,   33,    0,  174,    0,    0,   12,
  743.    13,    0,  175,  176,   14,   15,  177,    0,  178,  179,
  744.     0,  180,  181,  182,  183,  184,   16,  185,   17,   18,
  745.    19,    0,   21,  186,    0,    0,    0,   22,   23,   24,
  746.    25,    0,    0,    0,   26,    0,    0,   30,   31,   32,
  747.    33,   66,    0,    0,   27,    0,   28,    0,    0,    0,
  748.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  749.   189,    0,    0,    0,    0,    0,    0,    0,    0,   11,
  750.     0,    0,    0,   12,   13,    0,    0,    0,   14,   15,
  751.     0,    0,    0,    0,    0,    0,   66,    0,    0,   27,
  752.    16,   28,   17,   18,   19,    0,   21,    0,    0,    0,
  753.     0,   22,   23,   24,   25,  189,    0,    0,   26,    0,
  754.    29,   30,   31,   32,   33,    0,    0,    0,    0,    0,
  755.     0,    0,    0,    0,  187,    0,  231,    0,    0,    0,
  756.     0,   66,    0,    0,   27,    0,   28,    0,    0,    0,
  757.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  758.   189,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  759.     0,    0,    0,    0,    0,    0,    0,    0,    0,  187,
  760.     0,  285,    0,    0,    0,    0,    0,  107,    0,    0,
  761.   107,    0,  107,    0,    0,    0,    0,    0,    0,    0,
  762.     0,    0,    0,    0,    0,    0,  107,    0,    0,    0,
  763.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  764.     0,    0,    0,    0,  187,    0,  309,    0,    0,    0,
  765.     0,    0,    0,    0,    0,    0,    0,   66,    0,    0,
  766.    27,    0,   28,    0,    0,    0,    0,    0,    0,    0,
  767.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  768.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  769.   107,  174,  107,    0,   12,   13,    0,  175,  176,   14,
  770.    15,  177,    0,  178,  179,    0,  180,  181,  182,  183,
  771.   184,   16,  185,   17,   18,   19,    0,   21,  186,    0,
  772.     0,    0,   22,   23,   24,   25,    0,    0,    0,   26,
  773.     0,    0,   30,   31,   32,   33,  174,    0,    0,   12,
  774.    13,    0,  175,  176,   14,   15,  177,    0,  178,  179,
  775.     0,  180,  181,  182,  183,  184,   16,  185,   17,   18,
  776.    19,    0,   21,  186,    0,    0,    0,   22,   23,   24,
  777.    25,    0,    0,    0,   26,    0,    0,   30,   31,   32,
  778.    33,  174,    0,    0,   12,   13,    0,  175,  176,   14,
  779.    15,  177,    0,  178,  179,    0,  180,  181,  182,  183,
  780.   184,   16,  185,   17,   18,   19,   66,   21,  186,   27,
  781.   111,   28,   22,   23,   24,   25,    0,    0,    0,   26,
  782.     0,    0,   30,   31,   32,   33,   89,  107,   90,   86,
  783.   107,  107,    0,  107,  107,  107,  107,  107,    0,  107,
  784.   107,    0,  107,  107,  107,  107,  107,  107,  107,  107,
  785.   107,  107,    0,  107,  107,    0,    0,    0,  107,  107,
  786.   107,  107,    0,    0,    0,  107,    0,    0,  107,  107,
  787.   107,  107,  130,    0,    0,  130,    0,  130,    0,    0,
  788.    12,   13,    0,  175,  176,   14,   15,    0,    0,    0,
  789.     0,  130,  180,  181,  182,  183,  184,   16,    0,   17,
  790.    18,   19,    0,   21,  186,    0,    0,    0,   22,   23,
  791.    24,   25,    0,    0,    0,   26,    0,    0,   30,   31,
  792.    32,   33,   66,    0,    0,   27,    0,   28,    0,    0,
  793.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  794.     0,    0,   89,    0,   90,   86,    0,    0,    0,    0,
  795.     0,    0,    0,    0,    0,  130,    0,  130,    0,    0,
  796.     0,    0,    0,    0,   66,  241,    0,   27,  242,   28,
  797.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  798.     0,    0,    0,    0,    0,    0,    0,   86,    0,    0,
  799.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  800.     0,    0,    0,    0,    0,    0,    0,    0,   66,  243,
  801.     0,   27,  244,   28,    0,    0,    0,    0,    0,    0,
  802.     0,    0,    0,    0,    0,    0,    0,    0,    0,   12,
  803.    13,   86,    0,    0,   14,   15,    0,    0,    0,    0,
  804.     0,    0,    0,    0,    0,    0,   16,    0,   17,   18,
  805.    19,    0,   21,    0,    0,    0,    0,   22,   23,   24,
  806.    25,   87,   88,    0,   26,    0,    0,   30,   31,   32,
  807.    33,   66,  248,    0,   27,  249,   28,    0,    0,    0,
  808.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  809.     0,    0,  130,    0,   86,  130,  130,    0,  130,  130,
  810.   130,  130,  130,    0,  130,  130,    0,  130,  130,  130,
  811.   130,  130,  130,  130,  130,  130,  130,    0,  130,  130,
  812.     0,    0,    0,  130,  130,  130,  130,    0,    0,    0,
  813.   130,    0,    0,  130,  130,  130,  130,   35,    0,    0,
  814.    27,    0,   28,    0,    0,   12,   13,    0,    0,    0,
  815.    14,   15,    0,    0,    0,    0,  297,    0,    0,    0,
  816.     0,    0,   16,    0,   17,   18,   19,    0,   21,    0,
  817.     0,    0,    0,   22,   23,   24,   25,   87,   88,    0,
  818.    26,    0,    0,   30,   31,   32,   33,   12,   13,    0,
  819.     0,  108,   14,   15,   27,    0,   28,    0,    0,    0,
  820.     0,    0,    0,    0,   16,    0,   17,   18,   19,    0,
  821.    21,    0,    0,    0,    0,   22,   23,   24,   25,    0,
  822.     0,    0,   26,    0,    0,   30,   31,   32,   33,    0,
  823.     0,   12,   13,    0,    0,   66,   14,   15,   27,  111,
  824.    28,    0,    0,    0,    0,    0,    0,    0,   16,    0,
  825.    17,   18,   19,    0,   21,    0,    0,    0,   86,   22,
  826.    23,   24,   25,    0,    0,    0,   26,    0,    0,   30,
  827.    31,   32,   33,    0,    0,    0,    0,    0,   66,    0,
  828.     0,   27,  161,   28,    0,    0,    0,    0,    0,    0,
  829.     0,    0,    0,    0,   12,   13,    0,    0,    0,   14,
  830.    15,   86,    0,    0,    0,    0,    0,    0,    0,    0,
  831.     0,   16,    0,   17,   18,   19,    0,   21,    0,    0,
  832.     0,    0,   22,   23,   24,   25,    0,    0,    0,   26,
  833.     0,    0,   30,   31,   32,   33,   66,    0,    0,   27,
  834.   164,   28,    0,    0,    0,    0,    0,    0,    0,    0,
  835.     0,    0,    0,    0,    0,    0,   11,    0,    0,   86,
  836.    12,   13,    0,    0,    0,   14,   15,    0,    0,    0,
  837.     0,    0,    0,    0,    0,    0,    0,   16,    0,   17,
  838.    18,   19,   66,   21,    0,   27,  166,   28,   22,   23,
  839.    24,   25,    0,    0,    0,   26,    0,   29,   30,   31,
  840.    32,   33,    0,    0,    0,   86,    0,    0,    0,    0,
  841.    11,    0,    0,    0,   12,   13,    0,    0,    0,   14,
  842.    15,    0,    0,    0,   66,    0,    0,   27,  167,   28,
  843.     0,   16,    0,   17,   18,   19,    0,   21,    0,    0,
  844.     0,    0,   22,   23,   24,   25,    0,   86,    0,   26,
  845.     0,   29,   30,   31,   32,   33,    0,    0,   12,   13,
  846.     0,    0,    0,   14,   15,    0,    0,   66,    0,    0,
  847.    27,  172,   28,    0,    0,   16,    0,   17,   18,   19,
  848.     0,   21,    0,    0,    0,    0,   22,   23,   24,   25,
  849.    86,    0,    0,   26,    0,    0,   30,   31,   32,   33,
  850.     0,   12,   13,    0,    0,    0,   14,   15,    0,    0,
  851.    66,    0,    0,   27,  173,   28,    0,    0,   16,    0,
  852.    17,   18,   19,    0,   21,    0,    0,    0,    0,   22,
  853.    23,   24,   25,   86,    0,    0,   26,    0,    0,   30,
  854.    31,   32,   33,    0,    0,    0,    0,    0,    0,    0,
  855.     0,    0,   66,    0,    0,   27,    0,   28,    0,   12,
  856.    13,    0,    0,    0,   14,   15,    0,    0,    0,    0,
  857.   195,    0,    0,    0,    0,   86,   16,    0,   17,   18,
  858.    19,    0,   21,    0,    0,    0,    0,   22,   23,   24,
  859.    25,    0,    0,    0,   26,    0,    0,   30,   31,   32,
  860.    33,    0,    0,    0,    0,   12,   13,    0,    0,   66,
  861.    14,   15,   27,    0,   28,    0,    0,    0,    0,    0,
  862.     0,    0,   16,    0,   17,   18,   19,  198,   21,    0,
  863.     0,    0,   86,   22,   23,   24,   25,    0,    0,    0,
  864.    26,    0,    0,   30,   31,   32,   33,   12,   13,    0,
  865.     0,    0,   14,   15,   66,    0,    0,   27,    0,   28,
  866.     0,    0,    0,    0,   16,    0,   17,   18,   19,    0,
  867.    21,    0,    0,    0,    0,   22,   23,   24,   25,    0,
  868.     0,    0,   26,    0,    0,   30,   31,   32,   33,    0,
  869.    12,   13,    0,    0,    0,   14,   15,    0,    0,   66,
  870.   246,    0,   27,    0,   28,    0,    0,   16,    0,   17,
  871.    18,   19,    0,   21,    0,    0,    0,    0,   22,   23,
  872.    24,   25,   86,    0,    0,   26,    0,    0,   30,   31,
  873.    32,   33,    0,   12,   13,    0,    0,    0,   14,   15,
  874.     0,    0,   66,  250,    0,   27,    0,   28,    0,    0,
  875.    16,    0,   17,   18,   19,    0,   21,    0,    0,    0,
  876.     0,   22,   23,   24,   25,   86,    0,    0,   26,    0,
  877.     0,   30,   31,   32,   33,   12,   13,    0,    0,    0,
  878.    14,   15,    0,    0,   66,  281,    0,   27,    0,   28,
  879.     0,    0,   16,    0,   17,   18,   19,    0,   21,    0,
  880.     0,    0,    0,   22,   23,   24,   25,   86,    0,    0,
  881.    26,    0,    0,   30,   31,   32,   33,    0,    0,    0,
  882.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  883.     0,    0,   12,   13,    0,    0,    0,   14,   15,    0,
  884.     0,   66,  287,    0,   27,    0,   28,    0,    0,   16,
  885.     0,   17,   18,   19,    0,   21,    0,    0,    0,    0,
  886.    22,   23,   24,   25,   86,    0,    0,   26,    0,    0,
  887.    30,   31,   32,   33,    0,  126,  127,   12,   13,    0,
  888.     0,    0,   14,   15,    0,    0,   66,  288,    0,   27,
  889.     0,   28,    0,    0,   16,    0,   17,   18,   19,    0,
  890.    21,    0,    0,    0,    0,   22,   23,   24,   25,   86,
  891.     0,    0,   26,    0,    0,   30,   31,   32,   33,    0,
  892.     0,    0,   12,   13,    0,    0,    0,   14,   15,    0,
  893.     0,   66,  289,    0,   27,    0,   28,    0,    0,   16,
  894.     0,   17,   18,   19,    0,   21,    0,    0,    0,    0,
  895.    22,   23,   24,   25,   86,    0,    0,   26,    0,    0,
  896.    30,   31,   32,   33,    0,   12,   13,    0,    0,    0,
  897.    14,   15,    0,    0,   66,  290,    0,   27,    0,   28,
  898.     0,    0,   16,    0,   17,   18,   19,    0,   21,    0,
  899.     0,    0,    0,   22,   23,   24,   25,   86,    0,    0,
  900.    26,    0,    0,   30,   31,   32,   33,   12,   13,    0,
  901.     0,    0,   14,   15,    0,    0,   66,  291,    0,   27,
  902.     0,   28,    0,    0,   16,    0,   17,   18,   19,    0,
  903.    21,    0,    0,    0,    0,   22,   23,   24,   25,   86,
  904.     0,    0,   26,    0,    0,   30,   31,   32,   33,    0,
  905.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  906.     0,    0,    0,    0,   12,   13,    0,    0,    0,   14,
  907.    15,    0,    0,   66,  293,    0,   27,    0,   28,    0,
  908.     0,   16,    0,   17,   18,   19,    0,   21,    0,    0,
  909.     0,    0,   22,   23,   24,   25,   86,    0,    0,   26,
  910.     0,    0,   30,   31,   32,   33,    0,    0,    0,   12,
  911.    13,    0,    0,    0,   14,   15,    0,    0,    0,   66,
  912.     0,    0,   27,    0,   28,    0,   16,    0,   17,   18,
  913.    19,    0,   21,    0,    0,    0,    0,   22,   23,   24,
  914.    25,    0,    0,    0,   26,    0,    0,   30,   31,   32,
  915.    33,    0,    0,    0,   12,   13,    0,    0,    0,   14,
  916.    15,    0,    0,    0,    0,   66,    0,    0,   27,    0,
  917.    28,   16,    0,   17,   18,   19,    0,   21,    0,    0,
  918.     0,    0,   22,   23,   24,   25,    0,    0,    0,   26,
  919.     0,    0,   30,   31,   32,   33,    0,   12,   13,    0,
  920.     0,    0,   14,   15,    0,    0,    0,    0,    0,    0,
  921.     0,    0,    0,    0,   16,    0,   17,   18,   19,   66,
  922.    21,    0,   27,    0,   28,   22,   23,   24,   25,    0,
  923.     0,    0,   26,    0,    0,   30,   31,   32,   33,   12,
  924.    13,    0,    0,    0,   14,   15,    0,    0,    0,    0,
  925.     0,    0,    0,    0,    0,    0,   16,    0,   17,   18,
  926.    19,    0,   21,    0,    0,    0,    0,   22,   23,   24,
  927.    25,    0,    0,    0,   26,    0,    0,   30,   31,   32,
  928.    33,   66,    0,    0,   27,    0,   28,    0,    0,    0,
  929.     0,    0,    0,    0,    0,    0,   12,   13,    0,    0,
  930.     0,   14,   15,    0,    0,    0,    0,    0,    0,    0,
  931.     0,    0,    0,   16,    0,   17,   18,   19,    0,   21,
  932.     0,    0,    0,    0,   22,   23,   24,   25,    0,    0,
  933.     0,   26,    0,    0,   30,   31,   32,   33,  116,    0,
  934.     0,   66,   12,   13,   27,    0,   28,   14,   15,    0,
  935.     0,    0,    0,    0,    0,    0,    0,    0,    0,   16,
  936.     0,   17,   18,   19,   86,   21,    0,    0,    0,    0,
  937.    22,   23,   24,   25,    0,    0,    0,   26,    0,    0,
  938.    30,   31,   32,   33,  118,    0,    0,   66,   12,   13,
  939.    27,    0,   28,   14,   15,    0,    0,    0,    0,    0,
  940.     0,    0,    0,    0,    0,   16,    0,   17,   18,   19,
  941.     0,   21,    0,    0,    0,    0,   22,   23,   24,   25,
  942.     0,    0,    0,   26,    0,    0,   30,   31,   32,   33,
  943.    51,    0,    0,   27,    0,   28,    0,    0,  140,    0,
  944.     0,    0,   12,   13,    0,    0,    0,   14,   15,    0,
  945.     0,    0,    0,    0,    0,    0,    0,    0,    0,   16,
  946.     0,   17,   18,   19,    0,   21,    0,    0,    0,    0,
  947.    22,   23,   24,   25,    0,    0,    0,   26,    0,    0,
  948.    30,   31,   32,   33,   66,    0,    0,   27,    0,   28,
  949.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  950.   209,    0,    0,    0,   12,   13,    0,    0,    0,   14,
  951.    15,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  952.     0,   16,    0,   17,   18,   19,    0,   21,    0,    0,
  953.     0,    0,   22,   23,   24,   25,    0,    0,    0,   26,
  954.     0,    0,   30,   31,   32,   33,    0,    0,    0,    0,
  955.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  956.     0,    0,    0,    0,   12,   13,    0,    0,    0,   14,
  957.    15,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  958.     0,   16,    0,   17,   18,   19,    0,   21,    0,    0,
  959.     0,    0,   22,   23,   24,   25,    0,    0,    0,   26,
  960.     0,    0,   30,   31,   32,   33,  269,    0,    0,    0,
  961.    12,   13,    0,    0,    0,   14,   15,    0,    0,    0,
  962.     0,    0,    0,    0,    0,    0,    0,   16,    0,   17,
  963.    18,   19,    0,   21,    0,    0,    0,    0,   22,   23,
  964.    24,   25,    0,    0,    0,   26,    0,    0,   30,   31,
  965.    32,   33,    0,   12,   13,    0,    0,    0,   14,   15,
  966.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  967.    16,    0,   17,   18,   19,    0,   21,    0,    0,    0,
  968.     0,   22,   23,   24,   25,   57,    0,    0,   26,    0,
  969.     0,   30,   31,   32,   33,    0,   68,   68,    0,   71,
  970.    72,    0,   68,    0,    0,    0,    0,   12,   13,    0,
  971.    68,    0,   14,   15,    0,    0,    0,    0,    0,    0,
  972.     0,    0,   68,    0,   16,    0,   17,   18,   19,    0,
  973.    21,    0,    0,    0,    0,   22,   23,   24,   25,    0,
  974.     0,    0,   26,    0,    0,   30,   31,   32,   33,    0,
  975.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  976.     0,    0,   68,   68,   68,   68,   68,   68,    0,    0,
  977.     0,    0,    0,    0,    0,   68,    0,    0,   68,    0,
  978.     0,    0,   68,   68,    0,    0,   68,    0,   68,   68,
  979.     0,    0,    0,   68,   68,    0,    0,    0,    0,    0,
  980.     0,    0,    0,    0,   68,    0,    0,    0,   68,    0,
  981.    68,   68,   68,   68,    0,    0,    0,    0,    0,    0,
  982.     0,  199,    0,    0,    0,    0,    0,    0,    0,    0,
  983.     0,   68,    0,    0,    0,    0,    0,    0,    0,    0,
  984.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  985.     0,    0,    0,    0,    0,    0,    0,    0,    0,   68,
  986.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  987.     0,   68,   68,    0,   68,   68,   68,   68,    0,   68,
  988.     0,   68,   68,    0,    0,   67,   69,    0,    0,   68,
  989.    68,   73,    0,    0,    0,    0,    0,    0,    0,   91,
  990.     0,   68,   68,    0,    0,    0,    0,    0,    0,    0,
  991.     0,   91,    0,    0,    0,    0,    0,    0,    0,    0,
  992.     0,    0,    0,    0,    0,    0,    0,   68,    0,    0,
  993.     0,    0,    0,    0,    0,    0,    0,    0,    0,   68,
  994.    68,   68,   68,   68,    0,   68,   68,   68,    0,    0,
  995.     0,  146,  147,  148,  149,  150,  151,    0,    0,    0,
  996.     0,    0,    0,    0,   91,    0,    0,   91,    0,    0,
  997.     0,   91,   91,    0,    0,   91,    0,   91,   91,    0,
  998.     0,    0,   91,   91,    0,    0,    0,    0,    0,    0,
  999.     0,    0,    0,   91,    0,    0,    0,   91,    0,   91,
  1000.    91,   91,   91,    0,    0,    0,    0,    0,    0,    0,
  1001.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  1002.    91,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  1003.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  1004.     0,    0,    0,    0,    0,    0,    0,    0,   91,    0,
  1005.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  1006.    91,   91,    0,   91,   91,   91,   91,    0,   91,    0,
  1007.    91,   91,    0,    0,    0,    0,    0,    0,   91,   91,
  1008.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  1009.    91,   91,    0,    0,    0,    0,    0,    0,    0,    0,
  1010.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  1011.     0,    0,    0,    0,    0,    0,   91,    0,    0,    0,
  1012.     0,    0,    0,    0,    0,    0,    0,    0,   91,   91,
  1013.    91,   91,   91,    0,   91,   91,   91,
  1014. };
  1015. short yycheck[] = {                                      41,
  1016.     0,   41,   63,   41,   37,   41,   41,   59,   59,   42,
  1017.    43,   63,   45,   63,   47,   35,   63,  219,   41,   63,
  1018.    50,   63,   38,   63,   59,   63,  123,   63,   62,   37,
  1019.    44,  123,   62,   63,   42,  103,  104,   37,   35,   47,
  1020.    40,   41,   42,   43,   44,   45,   51,   47,   35,   63,
  1021.    41,   94,   41,   44,  288,    0,  301,  302,   58,   59,
  1022.    60,   94,   62,   63,  297,   60,  134,  301,  302,  112,
  1023.    59,  292,   41,   40,  307,   44,   59,  261,  262,  112,
  1024.    40,   40,  303,  304,  123,   40,   94,   40,  108,   40,
  1025.   124,  121,   37,   93,   94,  297,   41,   42,   43,   44,
  1026.    45,  286,   47,  108,  112,  307,   91,   41,  222,   40,
  1027.     0,  108,  112,   58,   59,   60,   40,   62,   63,   40,
  1028.   261,  108,   44,  123,  124,   59,   40,  123,   62,   41,
  1029.    60,  112,   41,   41,  292,  280,   41,   44,   44,   41,
  1030.   292,   41,   41,   93,   41,  175,  176,   37,   93,   94,
  1031.    40,   41,   42,   43,   40,   45,  224,   47,   40,   59,
  1032.    40,  292,   59,  290,  261,  262,   41,  112,   58,   59,
  1033.    60,   91,   62,   63,   59,   41,  272,    7,  123,  124,
  1034.   294,  295,  296,   40,  200,  271,   41,   41,    0,   93,
  1035.   124,   41,   93,   41,   59,   59,   -1,  216,   -1,   29,
  1036.   314,  315,   -1,   93,   94,  319,   -1,   -1,   -1,  260,
  1037.   261,  262,   41,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1038.    -1,   -1,  112,   -1,  292,  260,  261,  262,  289,  290,
  1039.    59,  265,  262,  123,  124,   -1,   -1,  289,  290,  289,
  1040.   290,  274,  289,  290,   -1,  289,  290,  289,  290,  289,
  1041.   290,  289,  290,  289,  290,   85,   -1,  257,  258,  259,
  1042.   260,  261,  262,  263,  264,  265,  289,  290,  268,  269,
  1043.   100,  260,  261,  262,  274,  289,  290,  260,  261,  262,
  1044.   280,   41,  282,  283,  284,  285,  286,   41,  288,  289,
  1045.   290,  291,  292,  293,  294,  295,  296,  292,  298,   59,
  1046.   300,  301,  302,  303,  304,   59,  136,  137,  303,  304,
  1047.    -1,   -1,  257,  258,  259,  260,  261,  262,  263,  264,
  1048.   265,   -1,   -1,  268,  269,   -1,  260,  261,  262,  274,
  1049.    -1,  265,   -1,   -1,   -1,  280,   41,  282,  283,  284,
  1050.   285,  286,   -1,  288,  289,  290,  291,  292,  293,  294,
  1051.   295,  296,   -1,  298,   59,  300,  301,  302,  303,  304,
  1052.   260,  261,  262,  260,  261,  262,   -1,  257,  258,  259,
  1053.   260,  261,  262,  263,  264,  265,   -1,   -1,  268,  269,
  1054.     0,   -1,   -1,   -1,  274,   -1,   -1,  217,  218,   -1,
  1055.   280,   -1,  282,  283,  284,  285,  286,   41,  288,  289,
  1056.   290,  291,  292,  293,  294,  295,  296,   -1,  298,   -1,
  1057.   300,  301,  302,  303,  304,   59,   -1,   37,   -1,   -1,
  1058.    40,   41,   42,   43,   44,   45,   -1,   47,   -1,   -1,
  1059.    -1,  260,  261,  262,   -1,    0,   -1,   -1,   58,   59,
  1060.    -1,   -1,   62,   63,   -1,   -1,   -1,   -1,   -1,   -1,
  1061.    -1,   -1,  282,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1062.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  299,
  1063.    -1,   -1,   37,   93,   94,   40,   41,   42,   43,   44,
  1064.    45,   -1,   47,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1065.     0,   -1,  112,   58,   59,   60,   -1,   62,   63,   -1,
  1066.   260,  261,  262,  123,  124,   -1,  260,  261,  262,   -1,
  1067.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1068.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   37,   93,   94,
  1069.    40,   41,   42,   43,   44,   45,   -1,   47,   -1,   -1,
  1070.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   58,   59,
  1071.    60,   -1,   62,   63,   -1,  260,  261,  262,  123,  124,
  1072.    -1,   -1,   -1,    0,   -1,   -1,   -1,   -1,   -1,   -1,
  1073.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1074.    -1,   -1,   -1,   93,   94,   -1,   -1,   -1,   -1,   -1,
  1075.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1076.    37,   -1,  112,   40,   41,   42,   43,   44,   45,   -1,
  1077.    47,   -1,   -1,  123,  124,   -1,  260,  261,  262,   -1,
  1078.    -1,   58,   59,   60,   -1,   62,   63,   -1,   -1,   -1,
  1079.    -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,  258,  259,
  1080.   260,  261,  262,  263,  264,  265,   -1,   -1,  268,  269,
  1081.    -1,   -1,   -1,   -1,  274,   -1,   93,   -1,   -1,   -1,
  1082.   280,   -1,  282,  283,  284,  285,  286,   -1,  288,  289,
  1083.   290,  291,  292,  293,  294,  295,  296,   -1,  298,   -1,
  1084.   300,  301,  302,  303,  304,   -1,  123,  124,   -1,   -1,
  1085.    -1,   -1,  257,  258,  259,  260,  261,  262,  263,  264,
  1086.   265,   -1,   -1,  268,  269,   -1,   -1,   -1,   -1,  274,
  1087.    -1,   -1,   -1,   -1,   -1,  280,   -1,  282,  283,  284,
  1088.   285,  286,   -1,  288,  289,  290,  291,  292,  293,  294,
  1089.   295,  296,   -1,  298,   -1,  300,  301,  302,  303,  304,
  1090.    -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,  258,  259,
  1091.   260,  261,  262,  263,  264,  265,   -1,   -1,  268,  269,
  1092.    -1,   -1,   -1,   -1,  274,   -1,   -1,   -1,   -1,   -1,
  1093.   280,   -1,  282,  283,  284,  285,  286,   -1,  288,  289,
  1094.    -1,  291,  292,  293,  294,  295,  296,   -1,  298,   -1,
  1095.   300,  301,  302,  303,  304,   -1,   -1,   -1,   -1,   -1,
  1096.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1097.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1098.   257,  258,  259,  260,  261,  262,  263,  264,  265,   -1,
  1099.    -1,  268,  269,    0,   -1,   -1,   -1,  274,   -1,   -1,
  1100.    -1,   -1,   -1,  280,   -1,  282,  283,  284,  285,  286,
  1101.    -1,  288,  289,  290,  291,  292,  293,  294,  295,  296,
  1102.    -1,  298,   -1,  300,  301,  302,  303,  304,   -1,   -1,
  1103.    37,   -1,   -1,   40,   41,   42,   43,   44,   45,   -1,
  1104.    47,   -1,   -1,   -1,   -1,   -1,   -1,   -1,    0,   -1,
  1105.    -1,   58,   59,   60,   -1,   62,   63,   -1,   -1,   -1,
  1106.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1107.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1108.    -1,   -1,   -1,   -1,   -1,   37,   93,   94,   40,   41,
  1109.    42,   43,   44,   45,   -1,   47,   -1,   -1,   -1,   -1,
  1110.    -1,   -1,    0,   -1,   -1,  112,   58,   59,   60,   -1,
  1111.    62,   63,   -1,   -1,   -1,   -1,  123,  124,   -1,   -1,
  1112.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1113.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   37,
  1114.    -1,   93,   40,   41,   42,   43,   44,   45,   -1,   47,
  1115.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1116.    58,   59,   60,   -1,   62,   63,   -1,   -1,   -1,   -1,
  1117.    -1,  123,  124,   -1,   -1,    0,   -1,   -1,   -1,   -1,
  1118.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1119.    -1,   -1,   -1,   -1,   -1,   93,   -1,   -1,   -1,   -1,
  1120.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1121.    -1,   -1,   37,   -1,   -1,   40,   41,   42,   43,   44,
  1122.    45,   -1,   47,   -1,   -1,  123,  124,   -1,   -1,   -1,
  1123.    -1,   -1,   -1,   58,   59,   60,   -1,   62,   63,   -1,
  1124.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1125.   257,  258,  259,  260,  261,  262,  263,  264,  265,   -1,
  1126.    -1,  268,  269,   -1,   -1,   -1,   -1,  274,   93,   -1,
  1127.    -1,   -1,   -1,  280,   -1,  282,  283,  284,  285,  286,
  1128.    -1,  288,  289,  290,  291,  292,  293,  294,  295,  296,
  1129.    -1,  298,   -1,  300,   -1,   -1,  303,  304,  123,  124,
  1130.    -1,   -1,   -1,   -1,   -1,  257,  258,  259,  260,  261,
  1131.   262,  263,  264,  265,   -1,   -1,  268,  269,   -1,   -1,
  1132.    -1,   -1,  274,   -1,   -1,   -1,   -1,   -1,  280,   -1,
  1133.   282,  283,  284,  285,  286,   -1,  288,  289,  290,  291,
  1134.   292,  293,  294,  295,  296,   -1,  298,   -1,  300,  301,
  1135.   302,  303,  304,   -1,   -1,   -1,   -1,   -1,   -1,  257,
  1136.   258,  259,  260,  261,  262,  263,  264,  265,    0,   -1,
  1137.   268,  269,   -1,   -1,   -1,   -1,  274,   -1,   -1,   -1,
  1138.    -1,   -1,  280,   -1,  282,  283,  284,  285,  286,   -1,
  1139.   288,  289,  290,  291,  292,  293,  294,  295,  296,   -1,
  1140.   298,   -1,  300,  301,  302,  303,  304,   -1,   40,   -1,
  1141.    -1,   43,   -1,   45,   -1,   -1,   -1,   -1,   -1,   -1,
  1142.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   59,   -1,   -1,
  1143.    -1,   -1,  257,  258,  259,  260,  261,  262,  263,  264,
  1144.   265,   -1,   -1,  268,  269,    0,   -1,   -1,   -1,  274,
  1145.    -1,   -1,   -1,   -1,   -1,  280,   -1,  282,  283,  284,
  1146.   285,  286,   -1,  288,  289,  290,  291,  292,  293,  294,
  1147.   295,  296,   -1,  298,   -1,  300,  301,  302,  303,  304,
  1148.    -1,   -1,   37,   -1,   -1,   40,   41,   42,   43,   44,
  1149.    45,  123,   47,   -1,   -1,   -1,   -1,   -1,   -1,    0,
  1150.    -1,   -1,   -1,   58,   59,   60,   -1,   62,   63,   -1,
  1151.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1152.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1153.    -1,   -1,   -1,   -1,   -1,   -1,   37,   -1,   93,   40,
  1154.    41,   42,   43,   44,   45,   -1,   47,   -1,   -1,   -1,
  1155.    -1,   -1,   -1,    0,   -1,   -1,   -1,   58,   59,   60,
  1156.    -1,   62,   63,   -1,   -1,   -1,   -1,   -1,  123,  124,
  1157.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1158.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1159.    37,   -1,   93,   40,   41,   42,   43,   44,   45,   -1,
  1160.    47,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1161.    -1,   58,   59,   60,   -1,   62,   63,   -1,   -1,   -1,
  1162.    -1,   -1,  123,  124,   -1,  257,  258,  259,  260,  261,
  1163.   262,  263,  264,   -1,   -1,   -1,  268,  269,   -1,   -1,
  1164.    -1,   -1,   -1,   -1,   -1,   -1,   93,   94,  280,   -1,
  1165.   282,  283,  284,  285,  286,   -1,   -1,   -1,   -1,  291,
  1166.   292,  293,  294,   -1,   -1,  112,  298,   -1,  300,  301,
  1167.   302,  303,  304,   -1,   -1,   -1,  123,  124,   -1,   -1,
  1168.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1169.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1170.    -1,   -1,  257,  258,  259,  260,  261,  262,  263,  264,
  1171.   265,   -1,   -1,  268,  269,   -1,   -1,   -1,   -1,  274,
  1172.    -1,   40,   -1,   -1,   43,  280,   45,  282,  283,  284,
  1173.   285,  286,   -1,  288,  289,  290,  291,  292,  293,  294,
  1174.   295,  296,   -1,  298,   -1,  300,  301,  302,  303,  304,
  1175.    -1,   -1,   -1,   -1,   -1,   -1,  257,  258,  259,  260,
  1176.   261,  262,  263,  264,  265,   -1,   -1,  268,  269,   -1,
  1177.    -1,   -1,   -1,  274,   -1,   -1,   -1,   -1,   -1,  280,
  1178.    -1,  282,  283,  284,  285,  286,   -1,  288,  289,  290,
  1179.   291,  292,  293,  294,  295,  296,   -1,  298,   -1,  300,
  1180.   301,  302,  303,  304,   40,   -1,   -1,   43,   -1,   45,
  1181.   257,  258,  259,  260,  261,  262,  263,  264,  265,   -1,
  1182.    -1,  268,  269,    0,   -1,   -1,   -1,  274,   -1,   -1,
  1183.    -1,   -1,   -1,  280,   -1,  282,  283,  284,  285,  286,
  1184.    -1,   -1,  289,  290,  291,  292,  293,  294,  295,  296,
  1185.    -1,  298,   -1,  300,   -1,   -1,  303,  304,   -1,   -1,
  1186.    37,   -1,   -1,   40,   41,   42,   43,   44,   45,   -1,
  1187.    47,   -1,   -1,   -1,   -1,   -1,   -1,   -1,    0,   -1,
  1188.    -1,   58,   59,   60,   -1,   62,   -1,   -1,   -1,   -1,
  1189.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1190.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1191.    -1,   -1,   -1,   -1,   -1,   -1,   93,   94,   40,   41,
  1192.    -1,   43,   44,   45,   -1,   -1,   -1,   -1,   -1,    0,
  1193.    -1,   -1,   -1,   -1,   -1,  112,   58,   59,   60,   -1,
  1194.    62,   63,   -1,   -1,  263,  264,  123,  124,   -1,  268,
  1195.   269,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1196.    -1,  280,   -1,  282,  283,  284,   -1,  286,   -1,   40,
  1197.    41,   93,   43,   44,   45,   -1,   -1,    0,   -1,  298,
  1198.    -1,   -1,  301,  302,  303,  304,   -1,   58,   59,   60,
  1199.    -1,   62,   63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1200.    -1,  123,  124,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1201.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   40,   41,   -1,
  1202.    -1,   44,   93,  259,   -1,  261,  262,  263,  264,   -1,
  1203.    -1,    0,  268,  269,   -1,   58,   59,   60,   -1,   62,
  1204.    63,   -1,   -1,   -1,  280,   -1,  282,  283,  284,   -1,
  1205.   286,   -1,  123,  124,   -1,  291,  292,  293,  294,   -1,
  1206.    -1,   -1,  298,   -1,  300,  301,  302,  303,  304,   -1,
  1207.    93,   40,   -1,   -1,   43,   -1,   45,   -1,   -1,   -1,
  1208.   257,  258,  259,  260,  261,  262,  263,  264,  265,    0,
  1209.    59,  268,  269,   -1,   -1,   -1,   -1,  274,   -1,   -1,
  1210.   123,  124,   -1,  280,   -1,  282,  283,  284,  285,  286,
  1211.    -1,  288,   -1,   -1,  291,  292,  293,  294,  295,  296,
  1212.    -1,  298,   -1,  300,  301,  302,  303,  304,   -1,   40,
  1213.    -1,   -1,   43,   -1,   45,  257,  258,  259,  260,  261,
  1214.   262,  263,  264,  265,   -1,   -1,  268,  269,   59,   -1,
  1215.    -1,   -1,  274,   -1,  123,   -1,   -1,   -1,  280,    0,
  1216.   282,  283,  284,  285,  286,   -1,  288,  289,  290,  291,
  1217.   292,  293,  294,  295,  296,   -1,  298,   -1,  300,  301,
  1218.   302,  303,  304,   -1,   -1,   -1,  257,  258,  259,  260,
  1219.   261,  262,  263,  264,  265,   -1,   -1,  268,  269,   40,
  1220.    -1,   -1,   43,  274,   45,   -1,   -1,   -1,   -1,  280,
  1221.    -1,  282,  283,  284,  285,  286,   -1,  288,  289,  290,
  1222.   291,  292,  293,  294,  295,  296,   -1,  298,   -1,  300,
  1223.   301,  302,  303,  304,  257,  258,  259,  260,  261,  262,
  1224.   263,  264,  265,    0,   -1,  268,  269,   -1,   -1,   -1,
  1225.    -1,   -1,   -1,   -1,   -1,   -1,   -1,  280,   -1,  282,
  1226.   283,  284,  285,  286,   -1,  288,  289,  290,  291,  292,
  1227.   293,  294,  295,  296,   -1,  298,   -1,  300,  301,  302,
  1228.   303,  304,  123,   40,   41,   -1,   -1,   44,  257,  258,
  1229.   259,  260,  261,  262,  263,  264,   -1,    0,   -1,  268,
  1230.   269,   58,   59,   60,   -1,   62,   63,   -1,   -1,   -1,
  1231.    -1,  280,   -1,  282,  283,  284,  285,  286,   -1,   -1,
  1232.    -1,   -1,  291,  292,  293,  294,   -1,   -1,   -1,  298,
  1233.    -1,  300,  301,  302,  303,  304,   93,   40,   -1,   -1,
  1234.    43,   -1,   45,   -1,   -1,   -1,  257,  258,  259,  260,
  1235.   261,  262,  263,  264,    0,   -1,   59,  268,  269,   -1,
  1236.    -1,   -1,   -1,   -1,   -1,   -1,  123,  124,   -1,  280,
  1237.    -1,  282,  283,  284,  285,  286,   -1,   -1,   -1,   -1,
  1238.   291,  292,  293,  294,   -1,   -1,   -1,  298,   -1,  300,
  1239.   301,  302,  303,  304,   40,   -1,   -1,   43,   -1,   45,
  1240.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1241.    -1,   -1,   -1,   -1,   -1,   -1,  257,  258,  259,   -1,
  1242.   123,   -1,  263,  264,   -1,    0,   -1,  268,  269,   -1,
  1243.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  280,
  1244.    -1,  282,  283,  284,  285,  286,   -1,   -1,   -1,   -1,
  1245.   291,  292,  293,  294,   -1,   -1,   -1,  298,   -1,  300,
  1246.   301,  302,  303,  304,   -1,   40,   -1,   -1,   43,   -1,
  1247.    45,   -1,   -1,   -1,   -1,   -1,   -1,  123,   -1,   -1,
  1248.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1249.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1250.   257,  258,  259,  260,  261,  262,  263,  264,  265,   -1,
  1251.    -1,  268,  269,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1252.    -1,   -1,   -1,  280,   -1,  282,  283,  284,  285,  286,
  1253.    -1,  288,  289,  290,  291,  292,  293,  294,  295,  296,
  1254.    -1,  298,   -1,  300,  301,  302,  303,  304,  123,   -1,
  1255.    -1,   -1,   -1,   -1,  257,  258,  259,  260,   -1,  262,
  1256.   263,  264,   -1,   -1,   -1,  268,  269,   -1,   -1,   -1,
  1257.    -1,   -1,   -1,   -1,   -1,   -1,   -1,  280,   -1,  282,
  1258.   283,  284,  285,  286,   -1,   -1,   -1,   -1,  291,  292,
  1259.   293,  294,   -1,   -1,   -1,  298,   -1,  300,  301,  302,
  1260.   303,  304,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1261.    -1,  257,  258,  259,   -1,   -1,   -1,  263,  264,   -1,
  1262.    -1,   -1,  268,  269,   -1,   -1,   40,   41,   -1,   43,
  1263.    44,   45,   -1,   -1,  280,   -1,  282,  283,  284,  285,
  1264.   286,   -1,   -1,   -1,   -1,  291,  292,  293,  294,   63,
  1265.    -1,   -1,  298,   -1,  300,  301,  302,  303,  304,   -1,
  1266.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1267.    -1,   -1,   -1,   40,   41,   -1,   43,   44,   45,   -1,
  1268.    -1,   -1,  257,  258,  259,   -1,   -1,   -1,  263,  264,
  1269.    -1,   -1,   -1,  268,  269,    0,   63,   -1,   -1,   -1,
  1270.    -1,   -1,   -1,   -1,   -1,  280,   -1,  282,  283,  284,
  1271.   285,  286,   -1,   -1,   -1,   -1,  291,  292,  293,  294,
  1272.    -1,   -1,   -1,  298,   -1,  300,  301,  302,  303,  304,
  1273.    -1,   -1,   37,   -1,   -1,   40,   41,   42,   43,   44,
  1274.    45,   -1,   47,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1275.     0,   -1,   -1,   58,   59,   60,   -1,   62,   63,   -1,
  1276.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1277.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1278.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   37,   93,   94,
  1279.    40,   41,   42,   43,   44,   45,   -1,   47,    0,   -1,
  1280.    -1,   -1,   -1,   -1,   -1,   -1,   -1,  112,   58,   59,
  1281.    -1,   -1,   62,   63,   -1,   -1,   -1,   -1,  123,  124,
  1282.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1283.    -1,   -1,   -1,   -1,   -1,   37,   -1,   -1,   -1,   41,
  1284.    42,   -1,   44,   93,   94,   47,   -1,   -1,   -1,  263,
  1285.   264,   -1,   -1,   -1,  268,  269,   58,   59,   60,   -1,
  1286.    62,   63,  112,   -1,   -1,   -1,  280,   -1,  282,  283,
  1287.   284,   -1,  286,  123,  124,   -1,   -1,  291,  292,  293,
  1288.   294,   -1,   -1,   -1,  298,   -1,   -1,  301,  302,  303,
  1289.   304,   93,   94,   -1,   -1,   -1,  263,  264,   -1,   -1,
  1290.    -1,  268,  269,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1291.   112,   -1,   -1,  280,   -1,  282,  283,  284,   -1,  286,
  1292.    -1,  123,  124,   -1,  291,  292,  293,  294,   -1,   -1,
  1293.    -1,  298,   -1,   -1,  301,  302,  303,  304,   -1,   -1,
  1294.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1295.    -1,   -1,  257,  258,  259,  260,  261,  262,  263,  264,
  1296.   265,   -1,   -1,  268,  269,   -1,   -1,   -1,   -1,  274,
  1297.    -1,   -1,   -1,   -1,   -1,  280,   -1,  282,  283,  284,
  1298.   285,  286,   -1,  288,  289,  290,  291,   -1,  293,  294,
  1299.   295,  296,   -1,  298,   -1,  300,  301,  302,   -1,   -1,
  1300.    -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,  258,  259,
  1301.   260,  261,  262,  263,  264,  265,   -1,   -1,  268,  269,
  1302.    -1,   -1,   -1,   -1,  274,   -1,   -1,   -1,   -1,   -1,
  1303.   280,   -1,  282,  283,  284,  285,  286,    0,  288,  289,
  1304.   290,  291,   -1,  293,  294,  295,  296,   -1,  298,   -1,
  1305.   300,  301,  302,   -1,   -1,  257,  258,  259,  260,  261,
  1306.   262,   -1,   -1,  265,   -1,   -1,   -1,   -1,   -1,   -1,
  1307.    -1,   -1,  274,   -1,   37,   -1,   -1,   -1,   41,   42,
  1308.    -1,   44,    0,  285,   47,   -1,  288,  289,  290,  291,
  1309.   292,  293,  294,  295,  296,   58,   59,   60,  300,   62,
  1310.    63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1311.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   37,
  1312.    -1,   -1,   -1,   41,   42,   -1,   44,    0,   -1,   47,
  1313.    93,   94,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1314.    58,   59,   60,   -1,   62,   63,   -1,   -1,   -1,  112,
  1315.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1316.   123,  124,   -1,   -1,   37,   -1,   -1,   -1,   41,   42,
  1317.    -1,   44,   -1,   -1,   47,   93,   94,   -1,   -1,   -1,
  1318.    -1,   -1,   -1,   -1,   -1,   58,   59,   60,   -1,   62,
  1319.    63,   -1,   -1,   -1,  112,   -1,    0,   -1,   -1,   -1,
  1320.    -1,   -1,   -1,   -1,   -1,  123,  124,   -1,   -1,   -1,
  1321.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1322.    93,   94,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1323.    -1,   -1,   -1,   37,   -1,   -1,   -1,   41,   42,  112,
  1324.    44,   -1,   -1,   47,   -1,   -1,   -1,   -1,   -1,   -1,
  1325.   123,  124,   -1,   -1,   58,   59,   60,   -1,   62,   63,
  1326.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1327.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1328.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   93,
  1329.    94,   -1,   -1,   -1,  257,  258,  259,  260,  261,  262,
  1330.    -1,   -1,  265,   -1,   -1,   -1,   -1,   -1,  112,   -1,
  1331.    -1,  274,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  123,
  1332.   124,   -1,  285,   -1,   -1,  288,  289,  290,  291,  292,
  1333.   293,  294,  295,  296,   -1,   -1,   -1,  300,   -1,  257,
  1334.   258,  259,  260,  261,  262,   -1,   -1,  265,   -1,   -1,
  1335.    -1,   -1,   -1,   -1,   -1,   -1,  274,   -1,   -1,   -1,
  1336.    -1,   -1,   -1,   -1,   -1,   -1,   -1,  285,   -1,   -1,
  1337.   288,  289,  290,  291,  292,  293,  294,  295,  296,   -1,
  1338.    -1,   -1,  300,   -1,  257,  258,  259,  260,  261,  262,
  1339.    -1,   -1,  265,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1340.    -1,  274,   -1,   -1,    0,   -1,   -1,   -1,   -1,   -1,
  1341.    -1,   -1,  285,   -1,   -1,  288,  289,  290,  291,  292,
  1342.   293,  294,  295,  296,   -1,   -1,   -1,  300,   -1,   -1,
  1343.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1344.    -1,   37,   47,   48,   -1,   41,   42,   -1,   44,   -1,
  1345.    -1,   47,   -1,  257,  258,  259,  260,  261,  262,   -1,
  1346.    -1,  265,   58,   59,   60,   -1,   62,   63,   -1,   -1,
  1347.   274,    0,   -1,   -1,   -1,   -1,   81,   -1,   83,   84,
  1348.    -1,  285,   -1,   -1,  288,  289,  290,  291,  292,  293,
  1349.   294,  295,  296,   -1,   -1,   -1,  300,   93,   94,   -1,
  1350.    -1,   -1,   -1,   -1,   -1,   -1,  111,  112,   37,   -1,
  1351.    -1,   -1,   41,   42,   -1,   44,  112,   -1,   47,    0,
  1352.    -1,   -1,   -1,   -1,   -1,   -1,   -1,  123,  124,   58,
  1353.    59,   60,   -1,   62,   63,   -1,   -1,   -1,   -1,   -1,
  1354.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1355.    -1,   -1,   -1,   -1,   -1,   -1,   37,   -1,   -1,   -1,
  1356.    41,   42,   -1,   44,   93,   94,   47,   -1,   -1,  174,
  1357.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   58,   59,   60,
  1358.   185,   62,  187,  112,  189,   -1,   -1,   -1,   -1,   -1,
  1359.    -1,    0,   -1,   -1,  123,  124,   -1,   -1,   -1,   -1,
  1360.    -1,   -1,   -1,   -1,   -1,   -1,  211,   -1,   -1,   -1,
  1361.    -1,   -1,   93,   94,   -1,   -1,   -1,   -1,   -1,   -1,
  1362.    -1,  226,  227,  228,  229,  230,   -1,   -1,   37,   -1,
  1363.    -1,  112,   41,   42,   -1,   44,   -1,   -1,   47,   -1,
  1364.    -1,   -1,  123,  124,   -1,   -1,   -1,   -1,   -1,   58,
  1365.    59,   60,   -1,   62,   -1,   -1,   -1,   -1,   -1,   -1,
  1366.    -1,  257,  258,  259,  260,  261,  262,   -1,   -1,  265,
  1367.   275,   -1,   -1,   -1,  279,  280,  281,   -1,  274,    0,
  1368.   285,   -1,   -1,   -1,   93,   94,   -1,   -1,   -1,  285,
  1369.    -1,   -1,  288,  289,  290,  291,  292,  293,  294,  295,
  1370.   296,   -1,   -1,  112,  300,  310,  311,   -1,   -1,   -1,
  1371.    -1,  316,   -1,   -1,  123,  124,   37,   -1,   -1,   -1,
  1372.    41,   42,   -1,   44,   -1,   -1,   47,   -1,  257,  258,
  1373.   259,  260,  261,  262,   -1,   -1,  265,   58,   59,   60,
  1374.    -1,   62,   -1,   -1,   -1,  274,   -1,   -1,   -1,   -1,
  1375.    -1,   -1,   -1,   -1,   -1,   -1,  285,   -1,   -1,  288,
  1376.   289,  290,   -1,   -1,   -1,   -1,  295,  296,   -1,   -1,
  1377.    -1,  300,   93,   94,   -1,   -1,  257,  258,  259,  260,
  1378.   261,  262,   -1,   -1,  265,   -1,   -1,   -1,   -1,   40,
  1379.    41,  112,   43,  274,   45,   -1,   -1,   -1,   -1,    0,
  1380.    -1,   -1,  123,  124,  285,   -1,   -1,  288,  289,  290,
  1381.    -1,   -1,   63,   -1,  295,  296,   -1,   -1,   -1,  300,
  1382.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1383.    -1,   -1,   -1,   -1,   -1,   -1,   37,   -1,   -1,   -1,
  1384.    41,   42,   -1,   44,   -1,   -1,   47,   -1,  257,  258,
  1385.   259,  260,  261,  262,   -1,   -1,  265,   58,   59,   60,
  1386.    -1,   62,   -1,   -1,   -1,  274,    0,   -1,   -1,   -1,
  1387.    -1,   -1,   -1,   -1,   -1,   -1,  285,   -1,   -1,  288,
  1388.   289,  290,   -1,   -1,   -1,   -1,  295,  296,   -1,   -1,
  1389.    -1,  300,   93,   94,   -1,   -1,   -1,   -1,   -1,   -1,
  1390.    -1,   -1,   -1,   37,   -1,   -1,   -1,   41,   42,   -1,
  1391.    -1,  112,   -1,   47,    0,   -1,   -1,   -1,   -1,   -1,
  1392.    -1,   -1,  123,  124,   58,   59,   60,   -1,   62,   -1,
  1393.    -1,   -1,   -1,   -1,   -1,   -1,  257,  258,  259,  260,
  1394.   261,  262,   -1,   -1,  265,   -1,   -1,   -1,   -1,   -1,
  1395.    -1,   37,   -1,  274,   -1,   41,   42,   -1,   44,   93,
  1396.    94,   47,   -1,   -1,  285,   -1,   -1,  288,  289,  290,
  1397.    -1,   -1,   58,   59,  295,  296,   -1,   -1,  112,  300,
  1398.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  123,
  1399.   124,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1400.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   93,   94,   -1,
  1401.    -1,   -1,  263,  264,   -1,   -1,   -1,  268,  269,   -1,
  1402.    -1,   -1,   -1,   -1,   -1,   -1,  112,   -1,   -1,  280,
  1403.    -1,  282,  283,  284,   -1,  286,   -1,  123,  124,   -1,
  1404.   291,  292,  293,  294,   -1,   -1,   -1,  298,   -1,   -1,
  1405.   301,  302,  303,  304,   -1,   -1,  257,  258,  259,  260,
  1406.   261,  262,   -1,   -1,  265,   -1,   -1,   -1,   -1,   -1,
  1407.    -1,   -1,   -1,  274,   -1,   -1,   -1,   -1,   -1,   -1,
  1408.    -1,   -1,   -1,   -1,  285,   -1,   -1,  288,  289,  290,
  1409.    -1,   -1,   -1,   -1,  295,  296,   -1,   -1,   -1,  300,
  1410.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1411.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1412.    -1,   -1,   -1,  257,  258,  259,  260,  261,  262,   -1,
  1413.    -1,  265,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1414.   274,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1415.    -1,  285,   -1,   -1,  288,  289,  290,   -1,   -1,   -1,
  1416.    -1,  295,  296,   -1,   -1,   -1,  300,   -1,   -1,   -1,
  1417.    -1,  257,  258,  259,  260,  261,  262,   -1,    7,  265,
  1418.    -1,   -1,   -1,   -1,   -1,   14,   -1,   -1,  274,   -1,
  1419.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  285,
  1420.    29,   -1,  288,  289,  290,   -1,   35,   -1,   -1,   -1,
  1421.    -1,   -1,   -1,   -1,  300,   -1,   -1,   -1,   -1,   -1,
  1422.    49,   50,   51,   -1,   -1,   -1,   55,   56,   -1,   58,
  1423.    59,   60,   -1,   62,   63,   64,   65,   66,   -1,   -1,
  1424.    -1,   -1,   -1,   -1,   -1,   40,   -1,   -1,   43,   -1,
  1425.    45,   -1,   -1,   82,   -1,   -1,   85,   86,   87,   88,
  1426.    89,   90,   -1,   -1,   59,   -1,   -1,   -1,   -1,   -1,
  1427.    -1,  100,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  108,
  1428.    -1,   -1,   -1,   -1,   -1,   -1,  115,   -1,   -1,   -1,
  1429.    40,   -1,  121,   43,   -1,   45,   -1,   -1,   -1,   -1,
  1430.    -1,   -1,   -1,   -1,   -1,   -1,   -1,  136,  137,   59,
  1431.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1432.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  123,   -1,
  1433.   159,  160,   -1,   -1,  163,  164,  165,  166,  167,   -1,
  1434.    -1,   -1,   -1,  172,  173,   40,  175,  176,   43,   -1,
  1435.    45,  180,   -1,   -1,   -1,  184,   -1,   -1,   -1,   -1,
  1436.    -1,   -1,   -1,   -1,   59,   -1,  195,   -1,   -1,  198,
  1437.    -1,   -1,   -1,  123,   -1,  125,   -1,   -1,   -1,   -1,
  1438.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  217,  218,
  1439.   219,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1440.    -1,   -1,   -1,   -1,   -1,   -1,   -1,  236,   -1,  238,
  1441.    -1,  240,   -1,  242,   -1,  244,   -1,   -1,   -1,   40,
  1442.   249,   -1,   43,   -1,   45,  254,  255,   -1,  123,   -1,
  1443.   125,   -1,   -1,  262,   -1,   -1,   -1,   -1,   59,   -1,
  1444.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1445.    -1,   -1,   -1,  282,   -1,   -1,   -1,   -1,   -1,   -1,
  1446.    -1,   -1,   -1,   -1,   -1,  260,  261,  262,  263,  264,
  1447.   299,  266,  267,  268,  269,  270,   -1,  272,  273,   -1,
  1448.   275,  276,  277,  278,  279,  280,  281,  282,  283,  284,
  1449.    -1,  286,  287,   -1,   -1,   -1,  291,  292,  293,  294,
  1450.    -1,   -1,  123,  298,  125,   -1,  301,  302,  303,  304,
  1451.   260,   -1,   -1,  263,  264,   -1,  266,  267,  268,  269,
  1452.   270,  271,  272,  273,   -1,  275,  276,  277,  278,  279,
  1453.   280,  281,  282,  283,  284,   -1,  286,  287,   -1,   -1,
  1454.    -1,  291,  292,  293,  294,   -1,   -1,   -1,  298,   -1,
  1455.    -1,  301,  302,  303,  304,   -1,   -1,   -1,   -1,   -1,
  1456.    -1,   -1,   -1,   -1,   -1,  260,   -1,   -1,  263,  264,
  1457.    -1,  266,  267,  268,  269,  270,  271,  272,  273,   -1,
  1458.   275,  276,  277,  278,  279,  280,  281,  282,  283,  284,
  1459.    -1,  286,  287,   -1,   -1,   -1,  291,  292,  293,  294,
  1460.    -1,   -1,   -1,  298,   -1,   -1,  301,  302,  303,  304,
  1461.    40,   -1,   -1,   43,   -1,   45,   -1,   -1,   -1,   -1,
  1462.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   59,
  1463.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  260,
  1464.    -1,   -1,  263,  264,   -1,  266,  267,  268,  269,  270,
  1465.   271,  272,  273,   -1,  275,  276,  277,  278,  279,  280,
  1466.   281,  282,  283,  284,   -1,  286,  287,   -1,   -1,   -1,
  1467.   291,  292,  293,  294,   -1,   -1,   -1,  298,   -1,   -1,
  1468.   301,  302,  303,  304,   40,   -1,   -1,   43,   -1,   45,
  1469.    -1,   -1,   -1,  123,   -1,  125,   -1,   -1,   -1,   -1,
  1470.    -1,   -1,   -1,   59,   -1,   -1,   -1,   -1,   -1,   -1,
  1471.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1472.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   40,
  1473.    -1,   -1,   43,   -1,   45,   -1,   -1,   -1,   -1,   -1,
  1474.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   59,   -1,
  1475.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1476.    -1,   -1,   -1,   -1,   -1,   -1,   -1,  123,   -1,  125,
  1477.    -1,   -1,   -1,   -1,   -1,   40,   -1,   -1,   43,   -1,
  1478.    45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1479.    -1,   -1,   -1,   -1,   59,   -1,   -1,   -1,   -1,   -1,
  1480.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1481.    -1,   -1,  123,   -1,  125,   -1,   -1,   -1,   40,   41,
  1482.    -1,   43,   -1,   45,   -1,   -1,   -1,   -1,   -1,   -1,
  1483.   260,   -1,   -1,  263,  264,   -1,  266,  267,  268,  269,
  1484.   270,  271,  272,  273,   -1,  275,  276,  277,  278,  279,
  1485.   280,  281,  282,  283,  284,   -1,  286,  287,  123,   -1,
  1486.   125,  291,  292,  293,  294,   -1,   -1,   -1,  298,   -1,
  1487.    -1,  301,  302,  303,  304,   -1,   -1,   -1,   -1,   -1,
  1488.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1489.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1490.    -1,   -1,   -1,   -1,  260,   -1,   -1,  263,  264,   -1,
  1491.   266,  267,  268,  269,  270,  271,  272,  273,   -1,  275,
  1492.   276,  277,  278,  279,  280,  281,  282,  283,  284,   -1,
  1493.   286,  287,   -1,   -1,   -1,  291,  292,  293,  294,   -1,
  1494.    -1,   -1,  298,   -1,   -1,  301,  302,  303,  304,  260,
  1495.    -1,   -1,  263,  264,   -1,  266,  267,  268,  269,  270,
  1496.   271,  272,  273,   -1,  275,  276,  277,  278,  279,  280,
  1497.   281,  282,  283,  284,   40,  286,  287,   43,   -1,   45,
  1498.   291,  292,  293,  294,   -1,   -1,   -1,  298,   -1,   -1,
  1499.   301,  302,  303,  304,   -1,  260,   -1,   -1,  263,  264,
  1500.    -1,  266,  267,  268,  269,  270,  271,  272,  273,   -1,
  1501.   275,  276,  277,  278,  279,  280,  281,  282,  283,  284,
  1502.    -1,  286,  287,   -1,   -1,   -1,  291,  292,  293,  294,
  1503.    -1,   -1,   -1,  298,   -1,   -1,  301,  302,  303,  304,
  1504.    40,  263,  264,   43,   -1,   45,  268,  269,   -1,   -1,
  1505.    -1,   -1,   -1,   -1,   -1,   -1,   -1,  123,  280,   59,
  1506.   282,  283,  284,   -1,  286,   -1,   -1,   -1,   -1,  291,
  1507.   292,  293,  294,   -1,   -1,   -1,  298,   -1,   -1,  301,
  1508.   302,  303,  304,   -1,   -1,   40,   -1,   -1,   43,   -1,
  1509.    45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1510.    -1,   -1,   -1,   -1,   59,   -1,   -1,   -1,   -1,   -1,
  1511.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1512.    -1,   -1,   -1,  123,   -1,  125,   -1,   -1,   -1,   -1,
  1513.    40,   -1,   -1,   43,   -1,   45,   -1,   -1,   -1,   -1,
  1514.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   59,
  1515.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1516.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  123,   -1,
  1517.   125,   -1,   -1,   -1,   -1,   -1,   40,   -1,   -1,   43,
  1518.    -1,   45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1519.    -1,  257,  258,  259,   -1,   59,   -1,  263,  264,   -1,
  1520.    -1,   -1,  268,  269,   -1,   -1,   -1,   -1,   -1,   -1,
  1521.    -1,   -1,   -1,  123,  280,  125,  282,  283,  284,  285,
  1522.   286,   -1,   -1,   -1,   -1,  291,  292,  293,  294,   -1,
  1523.    -1,   -1,  298,   -1,  300,  301,  302,  303,  304,   -1,
  1524.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1525.    40,   -1,   -1,   43,   -1,   45,   -1,   -1,   -1,  123,
  1526.   260,  125,   -1,  263,  264,   -1,  266,  267,  268,  269,
  1527.   270,  271,  272,  273,   -1,  275,  276,  277,  278,  279,
  1528.   280,  281,  282,  283,  284,   -1,  286,  287,   -1,   -1,
  1529.    -1,  291,  292,  293,  294,   -1,   -1,   -1,  298,   -1,
  1530.    -1,  301,  302,  303,  304,  260,   -1,   -1,  263,  264,
  1531.    -1,  266,  267,  268,  269,  270,   -1,  272,  273,   -1,
  1532.   275,  276,  277,  278,  279,  280,  281,  282,  283,  284,
  1533.    -1,  286,  287,   -1,   -1,   -1,  291,  292,  293,  294,
  1534.    -1,   -1,   -1,  298,   -1,   -1,  301,  302,  303,  304,
  1535.   260,   -1,   -1,  263,  264,   -1,  266,  267,  268,  269,
  1536.   270,   -1,  272,  273,   -1,  275,  276,  277,  278,  279,
  1537.   280,  281,  282,  283,  284,   -1,  286,  287,   -1,   -1,
  1538.    -1,  291,  292,  293,  294,   -1,   -1,   -1,  298,   -1,
  1539.    -1,  301,  302,  303,  304,   -1,  260,   -1,   -1,  263,
  1540.   264,   -1,  266,  267,  268,  269,  270,   -1,  272,  273,
  1541.    -1,  275,  276,  277,  278,  279,  280,  281,  282,  283,
  1542.   284,   -1,  286,  287,   -1,   -1,   -1,  291,  292,  293,
  1543.   294,   -1,   -1,   -1,  298,   -1,   -1,  301,  302,  303,
  1544.   304,   40,   -1,   -1,   43,   -1,   45,   -1,   -1,   -1,
  1545.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1546.    59,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  259,
  1547.    -1,   -1,   -1,  263,  264,   -1,   -1,   -1,  268,  269,
  1548.    -1,   -1,   -1,   -1,   -1,   -1,   40,   -1,   -1,   43,
  1549.   280,   45,  282,  283,  284,   -1,  286,   -1,   -1,   -1,
  1550.    -1,  291,  292,  293,  294,   59,   -1,   -1,  298,   -1,
  1551.   300,  301,  302,  303,  304,   -1,   -1,   -1,   -1,   -1,
  1552.    -1,   -1,   -1,   -1,  123,   -1,  125,   -1,   -1,   -1,
  1553.    -1,   40,   -1,   -1,   43,   -1,   45,   -1,   -1,   -1,
  1554.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1555.    59,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1556.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  123,
  1557.    -1,  125,   -1,   -1,   -1,   -1,   -1,   40,   -1,   -1,
  1558.    43,   -1,   45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1559.    -1,   -1,   -1,   -1,   -1,   -1,   59,   -1,   -1,   -1,
  1560.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1561.    -1,   -1,   -1,   -1,  123,   -1,  125,   -1,   -1,   -1,
  1562.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   40,   -1,   -1,
  1563.    43,   -1,   45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1564.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1565.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1566.   123,  260,  125,   -1,  263,  264,   -1,  266,  267,  268,
  1567.   269,  270,   -1,  272,  273,   -1,  275,  276,  277,  278,
  1568.   279,  280,  281,  282,  283,  284,   -1,  286,  287,   -1,
  1569.    -1,   -1,  291,  292,  293,  294,   -1,   -1,   -1,  298,
  1570.    -1,   -1,  301,  302,  303,  304,  260,   -1,   -1,  263,
  1571.   264,   -1,  266,  267,  268,  269,  270,   -1,  272,  273,
  1572.    -1,  275,  276,  277,  278,  279,  280,  281,  282,  283,
  1573.   284,   -1,  286,  287,   -1,   -1,   -1,  291,  292,  293,
  1574.   294,   -1,   -1,   -1,  298,   -1,   -1,  301,  302,  303,
  1575.   304,  260,   -1,   -1,  263,  264,   -1,  266,  267,  268,
  1576.   269,  270,   -1,  272,  273,   -1,  275,  276,  277,  278,
  1577.   279,  280,  281,  282,  283,  284,   40,  286,  287,   43,
  1578.    44,   45,  291,  292,  293,  294,   -1,   -1,   -1,  298,
  1579.    -1,   -1,  301,  302,  303,  304,   60,  260,   62,   63,
  1580.   263,  264,   -1,  266,  267,  268,  269,  270,   -1,  272,
  1581.   273,   -1,  275,  276,  277,  278,  279,  280,  281,  282,
  1582.   283,  284,   -1,  286,  287,   -1,   -1,   -1,  291,  292,
  1583.   293,  294,   -1,   -1,   -1,  298,   -1,   -1,  301,  302,
  1584.   303,  304,   40,   -1,   -1,   43,   -1,   45,   -1,   -1,
  1585.   263,  264,   -1,  266,  267,  268,  269,   -1,   -1,   -1,
  1586.    -1,   59,  275,  276,  277,  278,  279,  280,   -1,  282,
  1587.   283,  284,   -1,  286,  287,   -1,   -1,   -1,  291,  292,
  1588.   293,  294,   -1,   -1,   -1,  298,   -1,   -1,  301,  302,
  1589.   303,  304,   40,   -1,   -1,   43,   -1,   45,   -1,   -1,
  1590.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1591.    -1,   -1,   60,   -1,   62,   63,   -1,   -1,   -1,   -1,
  1592.    -1,   -1,   -1,   -1,   -1,  123,   -1,  125,   -1,   -1,
  1593.    -1,   -1,   -1,   -1,   40,   41,   -1,   43,   44,   45,
  1594.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1595.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   63,   -1,   -1,
  1596.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1597.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   40,   41,
  1598.    -1,   43,   44,   45,   -1,   -1,   -1,   -1,   -1,   -1,
  1599.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  263,
  1600.   264,   63,   -1,   -1,  268,  269,   -1,   -1,   -1,   -1,
  1601.    -1,   -1,   -1,   -1,   -1,   -1,  280,   -1,  282,  283,
  1602.   284,   -1,  286,   -1,   -1,   -1,   -1,  291,  292,  293,
  1603.   294,  295,  296,   -1,  298,   -1,   -1,  301,  302,  303,
  1604.   304,   40,   41,   -1,   43,   44,   45,   -1,   -1,   -1,
  1605.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1606.    -1,   -1,  260,   -1,   63,  263,  264,   -1,  266,  267,
  1607.   268,  269,  270,   -1,  272,  273,   -1,  275,  276,  277,
  1608.   278,  279,  280,  281,  282,  283,  284,   -1,  286,  287,
  1609.    -1,   -1,   -1,  291,  292,  293,  294,   -1,   -1,   -1,
  1610.   298,   -1,   -1,  301,  302,  303,  304,   40,   -1,   -1,
  1611.    43,   -1,   45,   -1,   -1,  263,  264,   -1,   -1,   -1,
  1612.   268,  269,   -1,   -1,   -1,   -1,   59,   -1,   -1,   -1,
  1613.    -1,   -1,  280,   -1,  282,  283,  284,   -1,  286,   -1,
  1614.    -1,   -1,   -1,  291,  292,  293,  294,  295,  296,   -1,
  1615.   298,   -1,   -1,  301,  302,  303,  304,  263,  264,   -1,
  1616.    -1,   40,  268,  269,   43,   -1,   45,   -1,   -1,   -1,
  1617.    -1,   -1,   -1,   -1,  280,   -1,  282,  283,  284,   -1,
  1618.   286,   -1,   -1,   -1,   -1,  291,  292,  293,  294,   -1,
  1619.    -1,   -1,  298,   -1,   -1,  301,  302,  303,  304,   -1,
  1620.    -1,  263,  264,   -1,   -1,   40,  268,  269,   43,   44,
  1621.    45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  280,   -1,
  1622.   282,  283,  284,   -1,  286,   -1,   -1,   -1,   63,  291,
  1623.   292,  293,  294,   -1,   -1,   -1,  298,   -1,   -1,  301,
  1624.   302,  303,  304,   -1,   -1,   -1,   -1,   -1,   40,   -1,
  1625.    -1,   43,   44,   45,   -1,   -1,   -1,   -1,   -1,   -1,
  1626.    -1,   -1,   -1,   -1,  263,  264,   -1,   -1,   -1,  268,
  1627.   269,   63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1628.    -1,  280,   -1,  282,  283,  284,   -1,  286,   -1,   -1,
  1629.    -1,   -1,  291,  292,  293,  294,   -1,   -1,   -1,  298,
  1630.    -1,   -1,  301,  302,  303,  304,   40,   -1,   -1,   43,
  1631.    44,   45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1632.    -1,   -1,   -1,   -1,   -1,   -1,  259,   -1,   -1,   63,
  1633.   263,  264,   -1,   -1,   -1,  268,  269,   -1,   -1,   -1,
  1634.    -1,   -1,   -1,   -1,   -1,   -1,   -1,  280,   -1,  282,
  1635.   283,  284,   40,  286,   -1,   43,   44,   45,  291,  292,
  1636.   293,  294,   -1,   -1,   -1,  298,   -1,  300,  301,  302,
  1637.   303,  304,   -1,   -1,   -1,   63,   -1,   -1,   -1,   -1,
  1638.   259,   -1,   -1,   -1,  263,  264,   -1,   -1,   -1,  268,
  1639.   269,   -1,   -1,   -1,   40,   -1,   -1,   43,   44,   45,
  1640.    -1,  280,   -1,  282,  283,  284,   -1,  286,   -1,   -1,
  1641.    -1,   -1,  291,  292,  293,  294,   -1,   63,   -1,  298,
  1642.    -1,  300,  301,  302,  303,  304,   -1,   -1,  263,  264,
  1643.    -1,   -1,   -1,  268,  269,   -1,   -1,   40,   -1,   -1,
  1644.    43,   44,   45,   -1,   -1,  280,   -1,  282,  283,  284,
  1645.    -1,  286,   -1,   -1,   -1,   -1,  291,  292,  293,  294,
  1646.    63,   -1,   -1,  298,   -1,   -1,  301,  302,  303,  304,
  1647.    -1,  263,  264,   -1,   -1,   -1,  268,  269,   -1,   -1,
  1648.    40,   -1,   -1,   43,   44,   45,   -1,   -1,  280,   -1,
  1649.   282,  283,  284,   -1,  286,   -1,   -1,   -1,   -1,  291,
  1650.   292,  293,  294,   63,   -1,   -1,  298,   -1,   -1,  301,
  1651.   302,  303,  304,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1652.    -1,   -1,   40,   -1,   -1,   43,   -1,   45,   -1,  263,
  1653.   264,   -1,   -1,   -1,  268,  269,   -1,   -1,   -1,   -1,
  1654.    58,   -1,   -1,   -1,   -1,   63,  280,   -1,  282,  283,
  1655.   284,   -1,  286,   -1,   -1,   -1,   -1,  291,  292,  293,
  1656.   294,   -1,   -1,   -1,  298,   -1,   -1,  301,  302,  303,
  1657.   304,   -1,   -1,   -1,   -1,  263,  264,   -1,   -1,   40,
  1658.   268,  269,   43,   -1,   45,   -1,   -1,   -1,   -1,   -1,
  1659.    -1,   -1,  280,   -1,  282,  283,  284,   58,  286,   -1,
  1660.    -1,   -1,   63,  291,  292,  293,  294,   -1,   -1,   -1,
  1661.   298,   -1,   -1,  301,  302,  303,  304,  263,  264,   -1,
  1662.    -1,   -1,  268,  269,   40,   -1,   -1,   43,   -1,   45,
  1663.    -1,   -1,   -1,   -1,  280,   -1,  282,  283,  284,   -1,
  1664.   286,   -1,   -1,   -1,   -1,  291,  292,  293,  294,   -1,
  1665.    -1,   -1,  298,   -1,   -1,  301,  302,  303,  304,   -1,
  1666.   263,  264,   -1,   -1,   -1,  268,  269,   -1,   -1,   40,
  1667.    41,   -1,   43,   -1,   45,   -1,   -1,  280,   -1,  282,
  1668.   283,  284,   -1,  286,   -1,   -1,   -1,   -1,  291,  292,
  1669.   293,  294,   63,   -1,   -1,  298,   -1,   -1,  301,  302,
  1670.   303,  304,   -1,  263,  264,   -1,   -1,   -1,  268,  269,
  1671.    -1,   -1,   40,   41,   -1,   43,   -1,   45,   -1,   -1,
  1672.   280,   -1,  282,  283,  284,   -1,  286,   -1,   -1,   -1,
  1673.    -1,  291,  292,  293,  294,   63,   -1,   -1,  298,   -1,
  1674.    -1,  301,  302,  303,  304,  263,  264,   -1,   -1,   -1,
  1675.   268,  269,   -1,   -1,   40,   41,   -1,   43,   -1,   45,
  1676.    -1,   -1,  280,   -1,  282,  283,  284,   -1,  286,   -1,
  1677.    -1,   -1,   -1,  291,  292,  293,  294,   63,   -1,   -1,
  1678.   298,   -1,   -1,  301,  302,  303,  304,   -1,   -1,   -1,
  1679.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1680.    -1,   -1,  263,  264,   -1,   -1,   -1,  268,  269,   -1,
  1681.    -1,   40,   41,   -1,   43,   -1,   45,   -1,   -1,  280,
  1682.    -1,  282,  283,  284,   -1,  286,   -1,   -1,   -1,   -1,
  1683.   291,  292,  293,  294,   63,   -1,   -1,  298,   -1,   -1,
  1684.   301,  302,  303,  304,   -1,  261,  262,  263,  264,   -1,
  1685.    -1,   -1,  268,  269,   -1,   -1,   40,   41,   -1,   43,
  1686.    -1,   45,   -1,   -1,  280,   -1,  282,  283,  284,   -1,
  1687.   286,   -1,   -1,   -1,   -1,  291,  292,  293,  294,   63,
  1688.    -1,   -1,  298,   -1,   -1,  301,  302,  303,  304,   -1,
  1689.    -1,   -1,  263,  264,   -1,   -1,   -1,  268,  269,   -1,
  1690.    -1,   40,   41,   -1,   43,   -1,   45,   -1,   -1,  280,
  1691.    -1,  282,  283,  284,   -1,  286,   -1,   -1,   -1,   -1,
  1692.   291,  292,  293,  294,   63,   -1,   -1,  298,   -1,   -1,
  1693.   301,  302,  303,  304,   -1,  263,  264,   -1,   -1,   -1,
  1694.   268,  269,   -1,   -1,   40,   41,   -1,   43,   -1,   45,
  1695.    -1,   -1,  280,   -1,  282,  283,  284,   -1,  286,   -1,
  1696.    -1,   -1,   -1,  291,  292,  293,  294,   63,   -1,   -1,
  1697.   298,   -1,   -1,  301,  302,  303,  304,  263,  264,   -1,
  1698.    -1,   -1,  268,  269,   -1,   -1,   40,   41,   -1,   43,
  1699.    -1,   45,   -1,   -1,  280,   -1,  282,  283,  284,   -1,
  1700.   286,   -1,   -1,   -1,   -1,  291,  292,  293,  294,   63,
  1701.    -1,   -1,  298,   -1,   -1,  301,  302,  303,  304,   -1,
  1702.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1703.    -1,   -1,   -1,   -1,  263,  264,   -1,   -1,   -1,  268,
  1704.   269,   -1,   -1,   40,   41,   -1,   43,   -1,   45,   -1,
  1705.    -1,  280,   -1,  282,  283,  284,   -1,  286,   -1,   -1,
  1706.    -1,   -1,  291,  292,  293,  294,   63,   -1,   -1,  298,
  1707.    -1,   -1,  301,  302,  303,  304,   -1,   -1,   -1,  263,
  1708.   264,   -1,   -1,   -1,  268,  269,   -1,   -1,   -1,   40,
  1709.    -1,   -1,   43,   -1,   45,   -1,  280,   -1,  282,  283,
  1710.   284,   -1,  286,   -1,   -1,   -1,   -1,  291,  292,  293,
  1711.   294,   -1,   -1,   -1,  298,   -1,   -1,  301,  302,  303,
  1712.   304,   -1,   -1,   -1,  263,  264,   -1,   -1,   -1,  268,
  1713.   269,   -1,   -1,   -1,   -1,   40,   -1,   -1,   43,   -1,
  1714.    45,  280,   -1,  282,  283,  284,   -1,  286,   -1,   -1,
  1715.    -1,   -1,  291,  292,  293,  294,   -1,   -1,   -1,  298,
  1716.    -1,   -1,  301,  302,  303,  304,   -1,  263,  264,   -1,
  1717.    -1,   -1,  268,  269,   -1,   -1,   -1,   -1,   -1,   -1,
  1718.    -1,   -1,   -1,   -1,  280,   -1,  282,  283,  284,   40,
  1719.   286,   -1,   43,   -1,   45,  291,  292,  293,  294,   -1,
  1720.    -1,   -1,  298,   -1,   -1,  301,  302,  303,  304,  263,
  1721.   264,   -1,   -1,   -1,  268,  269,   -1,   -1,   -1,   -1,
  1722.    -1,   -1,   -1,   -1,   -1,   -1,  280,   -1,  282,  283,
  1723.   284,   -1,  286,   -1,   -1,   -1,   -1,  291,  292,  293,
  1724.   294,   -1,   -1,   -1,  298,   -1,   -1,  301,  302,  303,
  1725.   304,   40,   -1,   -1,   43,   -1,   45,   -1,   -1,   -1,
  1726.    -1,   -1,   -1,   -1,   -1,   -1,  263,  264,   -1,   -1,
  1727.    -1,  268,  269,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1728.    -1,   -1,   -1,  280,   -1,  282,  283,  284,   -1,  286,
  1729.    -1,   -1,   -1,   -1,  291,  292,  293,  294,   -1,   -1,
  1730.    -1,  298,   -1,   -1,  301,  302,  303,  304,  259,   -1,
  1731.    -1,   40,  263,  264,   43,   -1,   45,  268,  269,   -1,
  1732.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  280,
  1733.    -1,  282,  283,  284,   63,  286,   -1,   -1,   -1,   -1,
  1734.   291,  292,  293,  294,   -1,   -1,   -1,  298,   -1,   -1,
  1735.   301,  302,  303,  304,  259,   -1,   -1,   40,  263,  264,
  1736.    43,   -1,   45,  268,  269,   -1,   -1,   -1,   -1,   -1,
  1737.    -1,   -1,   -1,   -1,   -1,  280,   -1,  282,  283,  284,
  1738.    -1,  286,   -1,   -1,   -1,   -1,  291,  292,  293,  294,
  1739.    -1,   -1,   -1,  298,   -1,   -1,  301,  302,  303,  304,
  1740.    40,   -1,   -1,   43,   -1,   45,   -1,   -1,  259,   -1,
  1741.    -1,   -1,  263,  264,   -1,   -1,   -1,  268,  269,   -1,
  1742.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  280,
  1743.    -1,  282,  283,  284,   -1,  286,   -1,   -1,   -1,   -1,
  1744.   291,  292,  293,  294,   -1,   -1,   -1,  298,   -1,   -1,
  1745.   301,  302,  303,  304,   40,   -1,   -1,   43,   -1,   45,
  1746.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1747.   259,   -1,   -1,   -1,  263,  264,   -1,   -1,   -1,  268,
  1748.   269,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1749.    -1,  280,   -1,  282,  283,  284,   -1,  286,   -1,   -1,
  1750.    -1,   -1,  291,  292,  293,  294,   -1,   -1,   -1,  298,
  1751.    -1,   -1,  301,  302,  303,  304,   -1,   -1,   -1,   -1,
  1752.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1753.    -1,   -1,   -1,   -1,  263,  264,   -1,   -1,   -1,  268,
  1754.   269,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1755.    -1,  280,   -1,  282,  283,  284,   -1,  286,   -1,   -1,
  1756.    -1,   -1,  291,  292,  293,  294,   -1,   -1,   -1,  298,
  1757.    -1,   -1,  301,  302,  303,  304,  259,   -1,   -1,   -1,
  1758.   263,  264,   -1,   -1,   -1,  268,  269,   -1,   -1,   -1,
  1759.    -1,   -1,   -1,   -1,   -1,   -1,   -1,  280,   -1,  282,
  1760.   283,  284,   -1,  286,   -1,   -1,   -1,   -1,  291,  292,
  1761.   293,  294,   -1,   -1,   -1,  298,   -1,   -1,  301,  302,
  1762.   303,  304,   -1,  263,  264,   -1,   -1,   -1,  268,  269,
  1763.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1764.   280,   -1,  282,  283,  284,   -1,  286,   -1,   -1,   -1,
  1765.    -1,  291,  292,  293,  294,   16,   -1,   -1,  298,   -1,
  1766.    -1,  301,  302,  303,  304,   -1,   27,   28,   -1,   30,
  1767.    31,   -1,   33,   -1,   -1,   -1,   -1,  263,  264,   -1,
  1768.    41,   -1,  268,  269,   -1,   -1,   -1,   -1,   -1,   -1,
  1769.    -1,   -1,   53,   -1,  280,   -1,  282,  283,  284,   -1,
  1770.   286,   -1,   -1,   -1,   -1,  291,  292,  293,  294,   -1,
  1771.    -1,   -1,  298,   -1,   -1,  301,  302,  303,  304,   -1,
  1772.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1773.    -1,   -1,   93,   94,   95,   96,   97,   98,   -1,   -1,
  1774.    -1,   -1,   -1,   -1,   -1,  106,   -1,   -1,  109,   -1,
  1775.    -1,   -1,  113,  114,   -1,   -1,  117,   -1,  119,  120,
  1776.    -1,   -1,   -1,  124,  125,   -1,   -1,   -1,   -1,   -1,
  1777.    -1,   -1,   -1,   -1,  135,   -1,   -1,   -1,  139,   -1,
  1778.   141,  142,  143,  144,   -1,   -1,   -1,   -1,   -1,   -1,
  1779.    -1,  152,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1780.    -1,  162,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1781.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1782.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  190,
  1783.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1784.    -1,  202,  203,   -1,  205,  206,  207,  208,   -1,  210,
  1785.    -1,  212,  213,   -1,   -1,   27,   28,   -1,   -1,  220,
  1786.   221,   33,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   41,
  1787.    -1,  232,  233,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1788.    -1,   53,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1789.    -1,   -1,   -1,   -1,   -1,   -1,   -1,  258,   -1,   -1,
  1790.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  270,
  1791.   271,  272,  273,  274,   -1,  276,  277,  278,   -1,   -1,
  1792.    -1,   93,   94,   95,   96,   97,   98,   -1,   -1,   -1,
  1793.    -1,   -1,   -1,   -1,  106,   -1,   -1,  109,   -1,   -1,
  1794.    -1,  113,  114,   -1,   -1,  117,   -1,  119,  120,   -1,
  1795.    -1,   -1,  124,  125,   -1,   -1,   -1,   -1,   -1,   -1,
  1796.    -1,   -1,   -1,  135,   -1,   -1,   -1,  139,   -1,  141,
  1797.   142,  143,  144,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1798.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1799.   162,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1800.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1801.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  190,   -1,
  1802.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1803.   202,  203,   -1,  205,  206,  207,  208,   -1,  210,   -1,
  1804.   212,  213,   -1,   -1,   -1,   -1,   -1,   -1,  220,  221,
  1805.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1806.   232,  233,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1807.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1808.    -1,   -1,   -1,   -1,   -1,   -1,  258,   -1,   -1,   -1,
  1809.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  270,  271,
  1810.   272,  273,  274,   -1,  276,  277,  278,
  1811. };
  1812. #define YYFINAL 1
  1813. #ifndef YYDEBUG
  1814. #define YYDEBUG 0
  1815. #endif
  1816. #define YYMAXTOKEN 304
  1817. #if YYDEBUG
  1818. char *yyname[] = {
  1819. "end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  1820. 0,0,0,"'%'",0,0,"'('","')'","'*'","'+'","','","'-'",0,"'/'",0,0,0,0,0,0,0,0,0,0,
  1821. "':'","';'","'<'",0,"'>'","'?'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  1822. 0,0,0,"'['",0,"']'","'^'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'p'",0,0,0,0,0,0,0,
  1823. 0,0,0,"'{'","'|'","'}'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  1824. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  1825. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  1826. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"BEGIN","END","REGEX","SEMINEW",
  1827. "NEWLINE","COMMENT","FUN1","FUNN","GRGR","PRINT","PRINTF","SPRINTF","SPLIT",
  1828. "IF","ELSE","WHILE","FOR","IN","EXIT","NEXT","BREAK","CONTINUE","RET","GETLINE",
  1829. "DO","SUB","GSUB","MATCH","FUNCTION","USERFUN","DELETE","ASGNOP","OROR",
  1830. "ANDAND","NUMBER","VAR","SUBSTR","INDEX","MATCHOP","RELOP","OR","STRING",
  1831. "UMINUS","NOT","INCR","DECR","FIELD","VFIELD",
  1832. };
  1833. char *yyrule[] = {
  1834. "$accept : program",
  1835. "program : junk hunks",
  1836. "begin : BEGIN '{' maybe states '}' junk",
  1837. "end : END '{' maybe states '}'",
  1838. "end : end NEWLINE",
  1839. "hunks : hunks hunk junk",
  1840. "hunks :",
  1841. "hunk : patpat",
  1842. "hunk : patpat '{' maybe states '}'",
  1843. "hunk : FUNCTION USERFUN '(' arg_list ')' maybe '{' maybe states '}'",
  1844. "hunk : '{' maybe states '}'",
  1845. "hunk : begin",
  1846. "hunk : end",
  1847. "arg_list : expr_list",
  1848. "patpat : cond",
  1849. "patpat : cond ',' cond",
  1850. "cond : expr",
  1851. "cond : match",
  1852. "cond : rel",
  1853. "cond : compound_cond",
  1854. "cond : cond '?' expr ':' expr",
  1855. "compound_cond : '(' compound_cond ')'",
  1856. "compound_cond : cond ANDAND maybe cond",
  1857. "compound_cond : cond OROR maybe cond",
  1858. "compound_cond : NOT cond",
  1859. "rel : expr RELOP expr",
  1860. "rel : expr '>' expr",
  1861. "rel : expr '<' expr",
  1862. "rel : '(' rel ')'",
  1863. "match : expr MATCHOP expr",
  1864. "match : expr MATCHOP REGEX",
  1865. "match : REGEX",
  1866. "match : '(' match ')'",
  1867. "expr : term",
  1868. "expr : expr term",
  1869. "expr : expr '?' expr ':' expr",
  1870. "expr : variable ASGNOP cond",
  1871. "term : variable",
  1872. "term : NUMBER",
  1873. "term : STRING",
  1874. "term : term '+' term",
  1875. "term : term '-' term",
  1876. "term : term '*' term",
  1877. "term : term '/' term",
  1878. "term : term '%' term",
  1879. "term : term '^' term",
  1880. "term : term IN VAR",
  1881. "term : variable INCR",
  1882. "term : variable DECR",
  1883. "term : INCR variable",
  1884. "term : DECR variable",
  1885. "term : '-' term",
  1886. "term : '+' term",
  1887. "term : '(' cond ')'",
  1888. "term : GETLINE",
  1889. "term : GETLINE variable",
  1890. "term : GETLINE '<' expr",
  1891. "term : GETLINE variable '<' expr",
  1892. "term : term 'p' GETLINE",
  1893. "term : term 'p' GETLINE variable",
  1894. "term : FUN1",
  1895. "term : FUN1 '(' ')'",
  1896. "term : FUN1 '(' expr ')'",
  1897. "term : FUNN '(' expr_list ')'",
  1898. "term : USERFUN '(' expr_list ')'",
  1899. "term : SPRINTF expr_list",
  1900. "term : SUBSTR '(' expr ',' expr ',' expr ')'",
  1901. "term : SUBSTR '(' expr ',' expr ')'",
  1902. "term : SPLIT '(' expr ',' VAR ',' expr ')'",
  1903. "term : SPLIT '(' expr ',' VAR ',' REGEX ')'",
  1904. "term : SPLIT '(' expr ',' VAR ')'",
  1905. "term : INDEX '(' expr ',' expr ')'",
  1906. "term : MATCH '(' expr ',' REGEX ')'",
  1907. "term : MATCH '(' expr ',' expr ')'",
  1908. "term : SUB '(' expr ',' expr ')'",
  1909. "term : SUB '(' REGEX ',' expr ')'",
  1910. "term : GSUB '(' expr ',' expr ')'",
  1911. "term : GSUB '(' REGEX ',' expr ')'",
  1912. "term : SUB '(' expr ',' expr ',' expr ')'",
  1913. "term : SUB '(' REGEX ',' expr ',' expr ')'",
  1914. "term : GSUB '(' expr ',' expr ',' expr ')'",
  1915. "term : GSUB '(' REGEX ',' expr ',' expr ')'",
  1916. "variable : VAR",
  1917. "variable : VAR '[' expr_list ']'",
  1918. "variable : FIELD",
  1919. "variable : VFIELD term",
  1920. "expr_list : expr",
  1921. "expr_list : clist",
  1922. "expr_list :",
  1923. "clist : expr ',' maybe expr",
  1924. "clist : clist ',' maybe expr",
  1925. "clist : '(' clist ')'",
  1926. "junk : junk hunksep",
  1927. "junk :",
  1928. "hunksep : ';'",
  1929. "hunksep : SEMINEW",
  1930. "hunksep : NEWLINE",
  1931. "hunksep : COMMENT",
  1932. "maybe : maybe nlstuff",
  1933. "maybe :",
  1934. "nlstuff : NEWLINE",
  1935. "nlstuff : COMMENT",
  1936. "separator : ';' maybe",
  1937. "separator : SEMINEW maybe",
  1938. "separator : NEWLINE maybe",
  1939. "separator : COMMENT maybe",
  1940. "states : states statement",
  1941. "states :",
  1942. "statement : simple separator maybe",
  1943. "statement : ';' maybe",
  1944. "statement : SEMINEW maybe",
  1945. "statement : compound",
  1946. "simpnull : simple",
  1947. "simpnull :",
  1948. "simple : expr",
  1949. "simple : PRINT expr_list redir expr",
  1950. "simple : PRINT expr_list",
  1951. "simple : PRINTF expr_list redir expr",
  1952. "simple : PRINTF expr_list",
  1953. "simple : BREAK",
  1954. "simple : NEXT",
  1955. "simple : EXIT",
  1956. "simple : EXIT expr",
  1957. "simple : CONTINUE",
  1958. "simple : RET",
  1959. "simple : RET expr",
  1960. "simple : DELETE VAR '[' expr_list ']'",
  1961. "redir : '>'",
  1962. "redir : GRGR",
  1963. "redir : '|'",
  1964. "compound : IF '(' cond ')' maybe statement",
  1965. "compound : IF '(' cond ')' maybe statement ELSE maybe statement",
  1966. "compound : WHILE '(' cond ')' maybe statement",
  1967. "compound : DO maybe statement WHILE '(' cond ')'",
  1968. "compound : FOR '(' simpnull ';' cond ';' simpnull ')' maybe statement",
  1969. "compound : FOR '(' simpnull ';' ';' simpnull ')' maybe statement",
  1970. "compound : FOR '(' expr ')' maybe statement",
  1971. "compound : '{' maybe states '}' maybe",
  1972. };
  1973. #endif
  1974. #ifndef YYSTYPE
  1975. typedef int YYSTYPE;
  1976. #endif
  1977. #define yyclearin (yychar=(-1))
  1978. #define yyerrok (yyerrflag=0)
  1979. #ifdef YYSTACKSIZE
  1980. #ifndef YYMAXDEPTH
  1981. #define YYMAXDEPTH YYSTACKSIZE
  1982. #endif
  1983. #else
  1984. #ifdef YYMAXDEPTH
  1985. #define YYSTACKSIZE YYMAXDEPTH
  1986. #else
  1987. #define YYSTACKSIZE 500
  1988. #define YYMAXDEPTH 500
  1989. #endif
  1990. #endif
  1991. int yydebug;
  1992. int yynerrs;
  1993. int yyerrflag;
  1994. int yychar;
  1995. short *yyssp;
  1996. YYSTYPE *yyvsp;
  1997. YYSTYPE yyval;
  1998. YYSTYPE yylval;
  1999. short yyss[YYSTACKSIZE];
  2000. YYSTYPE yyvs[YYSTACKSIZE];
  2001. #define yystacksize YYSTACKSIZE
  2002. #line 396 "a2p.y"
  2003.  
  2004. int yyparse _((void));
  2005.  
  2006. #include "a2py.c"
  2007. #line 2008 "y.tab.c"
  2008. #define YYABORT goto yyabort
  2009. #define YYACCEPT goto yyaccept
  2010. #define YYERROR goto yyerrlab
  2011. int
  2012. yyparse()
  2013. {
  2014.     register int yym, yyn, yystate;
  2015. #if YYDEBUG
  2016.     register char *yys;
  2017. #ifndef __cplusplus
  2018.     extern char *getenv();
  2019. #endif
  2020.  
  2021.     if (yys = getenv("YYDEBUG"))
  2022.     {
  2023.         yyn = *yys;
  2024.         if (yyn >= '0' && yyn <= '9')
  2025.             yydebug = yyn - '0';
  2026.     }
  2027. #endif
  2028.  
  2029.     yynerrs = 0;
  2030.     yyerrflag = 0;
  2031.     yychar = (-1);
  2032.  
  2033.     yyssp = yyss;
  2034.     yyvsp = yyvs;
  2035.     *yyssp = yystate = 0;
  2036.  
  2037. yyloop:
  2038.     if (yyn = yydefred[yystate]) goto yyreduce;
  2039.     if (yychar < 0)
  2040.     {
  2041.         if ((yychar = yylex()) < 0) yychar = 0;
  2042. #if YYDEBUG
  2043.         if (yydebug)
  2044.         {
  2045.             yys = 0;
  2046.             if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
  2047.             if (!yys) yys = "illegal-symbol";
  2048.             printf("yydebug: state %d, reading %d (%s)\n", yystate,
  2049.                     yychar, yys);
  2050.         }
  2051. #endif
  2052.     }
  2053.     if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
  2054.             yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
  2055.     {
  2056. #if YYDEBUG
  2057.         if (yydebug)
  2058.             printf("yydebug: state %d, shifting to state %d\n",
  2059.                     yystate, yytable[yyn]);
  2060. #endif
  2061.         if (yyssp >= yyss + yystacksize - 1)
  2062.         {
  2063.             goto yyoverflow;
  2064.         }
  2065.         *++yyssp = yystate = yytable[yyn];
  2066.         *++yyvsp = yylval;
  2067.         yychar = (-1);
  2068.         if (yyerrflag > 0)  --yyerrflag;
  2069.         goto yyloop;
  2070.     }
  2071.     if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
  2072.             yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
  2073.     {
  2074.         yyn = yytable[yyn];
  2075.         goto yyreduce;
  2076.     }
  2077.     if (yyerrflag) goto yyinrecovery;
  2078. #ifdef lint
  2079.     goto yynewerror;
  2080. #endif
  2081. yynewerror:
  2082.     yyerror("syntax error");
  2083. #ifdef lint
  2084.     goto yyerrlab;
  2085. #endif
  2086. yyerrlab:
  2087.     ++yynerrs;
  2088. yyinrecovery:
  2089.     if (yyerrflag < 3)
  2090.     {
  2091.         yyerrflag = 3;
  2092.         for (;;)
  2093.         {
  2094.             if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
  2095.                     yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
  2096.             {
  2097. #if YYDEBUG
  2098.                 if (yydebug)
  2099.                     printf("yydebug: state %d, error recovery shifting\
  2100.  to state %d\n", *yyssp, yytable[yyn]);
  2101. #endif
  2102.                 if (yyssp >= yyss + yystacksize - 1)
  2103.                 {
  2104.                     goto yyoverflow;
  2105.                 }
  2106.                 *++yyssp = yystate = yytable[yyn];
  2107.                 *++yyvsp = yylval;
  2108.                 goto yyloop;
  2109.             }
  2110.             else
  2111.             {
  2112. #if YYDEBUG
  2113.                 if (yydebug)
  2114.                     printf("yydebug: error recovery discarding state %d\n",
  2115.                             *yyssp);
  2116. #endif
  2117.                 if (yyssp <= yyss) goto yyabort;
  2118.                 --yyssp;
  2119.                 --yyvsp;
  2120.             }
  2121.         }
  2122.     }
  2123.     else
  2124.     {
  2125.         if (yychar == 0) goto yyabort;
  2126. #if YYDEBUG
  2127.         if (yydebug)
  2128.         {
  2129.             yys = 0;
  2130.             if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
  2131.             if (!yys) yys = "illegal-symbol";
  2132.             printf("yydebug: state %d, error recovery discards token %d (%s)\n",
  2133.                     yystate, yychar, yys);
  2134.         }
  2135. #endif
  2136.         yychar = (-1);
  2137.         goto yyloop;
  2138.     }
  2139. yyreduce:
  2140. #if YYDEBUG
  2141.     if (yydebug)
  2142.         printf("yydebug: state %d, reducing by rule %d (%s)\n",
  2143.                 yystate, yyn, yyrule[yyn]);
  2144. #endif
  2145.     yym = yylen[yyn];
  2146.     yyval = yyvsp[1-yym];
  2147.     switch (yyn)
  2148.     {
  2149. case 1:
  2150. #line 51 "a2p.y"
  2151. { root = oper4(OPROG,yyvsp[-1],begins,yyvsp[0],ends); }
  2152. break;
  2153. case 2:
  2154. #line 55 "a2p.y"
  2155. { begins = oper4(OJUNK,begins,yyvsp[-3],yyvsp[-2],yyvsp[0]); in_begin = FALSE;
  2156.             yyval = Nullop; }
  2157. break;
  2158. case 3:
  2159. #line 60 "a2p.y"
  2160. { ends = oper3(OJUNK,ends,yyvsp[-2],yyvsp[-1]); yyval = Nullop; }
  2161. break;
  2162. case 4:
  2163. #line 62 "a2p.y"
  2164. { yyval = yyvsp[-1]; }
  2165. break;
  2166. case 5:
  2167. #line 66 "a2p.y"
  2168. { yyval = oper3(OHUNKS,yyvsp[-2],yyvsp[-1],yyvsp[0]); }
  2169. break;
  2170. case 6:
  2171. #line 68 "a2p.y"
  2172. { yyval = Nullop; }
  2173. break;
  2174. case 7:
  2175. #line 72 "a2p.y"
  2176. { yyval = oper1(OHUNK,yyvsp[0]); need_entire = TRUE; }
  2177. break;
  2178. case 8:
  2179. #line 74 "a2p.y"
  2180. { yyval = oper2(OHUNK,yyvsp[-4],oper2(OJUNK,yyvsp[-2],yyvsp[-1])); }
  2181. break;
  2182. case 9:
  2183. #line 76 "a2p.y"
  2184. { fixfargs(yyvsp[-8],yyvsp[-6],0); yyval = oper5(OUSERDEF,yyvsp[-8],yyvsp[-6],yyvsp[-4],yyvsp[-2],yyvsp[-1]); }
  2185. break;
  2186. case 10:
  2187. #line 78 "a2p.y"
  2188. { yyval = oper2(OHUNK,Nullop,oper2(OJUNK,yyvsp[-2],yyvsp[-1])); }
  2189. break;
  2190. case 13:
  2191. #line 84 "a2p.y"
  2192. { yyval = rememberargs(yyval); }
  2193. break;
  2194. case 14:
  2195. #line 88 "a2p.y"
  2196. { yyval = oper1(OPAT,yyvsp[0]); }
  2197. break;
  2198. case 15:
  2199. #line 90 "a2p.y"
  2200. { yyval = oper2(ORANGE,yyvsp[-2],yyvsp[0]); }
  2201. break;
  2202. case 20:
  2203. #line 98 "a2p.y"
  2204. { yyval = oper3(OCOND,yyvsp[-4],yyvsp[-2],yyvsp[0]); }
  2205. break;
  2206. case 21:
  2207. #line 103 "a2p.y"
  2208. { yyval = oper1(OCPAREN,yyvsp[-1]); }
  2209. break;
  2210. case 22:
  2211. #line 105 "a2p.y"
  2212. { yyval = oper3(OCANDAND,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
  2213. break;
  2214. case 23:
  2215. #line 107 "a2p.y"
  2216. { yyval = oper3(OCOROR,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
  2217. break;
  2218. case 24:
  2219. #line 109 "a2p.y"
  2220. { yyval = oper1(OCNOT,yyvsp[0]); }
  2221. break;
  2222. case 25:
  2223. #line 113 "a2p.y"
  2224. { yyval = oper3(ORELOP,yyvsp[-1],yyvsp[-2],yyvsp[0]); }
  2225. break;
  2226. case 26:
  2227. #line 115 "a2p.y"
  2228. { yyval = oper3(ORELOP,string(">",1),yyvsp[-2],yyvsp[0]); }
  2229. break;
  2230. case 27:
  2231. #line 117 "a2p.y"
  2232. { yyval = oper3(ORELOP,string("<",1),yyvsp[-2],yyvsp[0]); }
  2233. break;
  2234. case 28:
  2235. #line 119 "a2p.y"
  2236. { yyval = oper1(ORPAREN,yyvsp[-1]); }
  2237. break;
  2238. case 29:
  2239. #line 123 "a2p.y"
  2240. { yyval = oper3(OMATCHOP,yyvsp[-1],yyvsp[-2],yyvsp[0]); }
  2241. break;
  2242. case 30:
  2243. #line 125 "a2p.y"
  2244. { yyval = oper3(OMATCHOP,yyvsp[-1],yyvsp[-2],oper1(OREGEX,yyvsp[0])); }
  2245. break;
  2246. case 31:
  2247. #line 127 "a2p.y"
  2248. { yyval = oper1(OREGEX,yyvsp[0]); }
  2249. break;
  2250. case 32:
  2251. #line 129 "a2p.y"
  2252. { yyval = oper1(OMPAREN,yyvsp[-1]); }
  2253. break;
  2254. case 33:
  2255. #line 133 "a2p.y"
  2256. { yyval = yyvsp[0]; }
  2257. break;
  2258. case 34:
  2259. #line 135 "a2p.y"
  2260. { yyval = oper2(OCONCAT,yyvsp[-1],yyvsp[0]); }
  2261. break;
  2262. case 35:
  2263. #line 137 "a2p.y"
  2264. { yyval = oper3(OCOND,yyvsp[-4],yyvsp[-2],yyvsp[0]); }
  2265. break;
  2266. case 36:
  2267. #line 139 "a2p.y"
  2268. { yyval = oper3(OASSIGN,yyvsp[-1],yyvsp[-2],yyvsp[0]);
  2269.             if ((ops[yyvsp[-2]].ival & 255) == OFLD)
  2270.                 lval_field = TRUE;
  2271.             if ((ops[yyvsp[-2]].ival & 255) == OVFLD)
  2272.                 lval_field = TRUE;
  2273.         }
  2274. break;
  2275. case 37:
  2276. #line 148 "a2p.y"
  2277. { yyval = yyvsp[0]; }
  2278. break;
  2279. case 38:
  2280. #line 150 "a2p.y"
  2281. { yyval = oper1(ONUM,yyvsp[0]); }
  2282. break;
  2283. case 39:
  2284. #line 152 "a2p.y"
  2285. { yyval = oper1(OSTR,yyvsp[0]); }
  2286. break;
  2287. case 40:
  2288. #line 154 "a2p.y"
  2289. { yyval = oper2(OADD,yyvsp[-2],yyvsp[0]); }
  2290. break;
  2291. case 41:
  2292. #line 156 "a2p.y"
  2293. { yyval = oper2(OSUBTRACT,yyvsp[-2],yyvsp[0]); }
  2294. break;
  2295. case 42:
  2296. #line 158 "a2p.y"
  2297. { yyval = oper2(OMULT,yyvsp[-2],yyvsp[0]); }
  2298. break;
  2299. case 43:
  2300. #line 160 "a2p.y"
  2301. { yyval = oper2(ODIV,yyvsp[-2],yyvsp[0]); }
  2302. break;
  2303. case 44:
  2304. #line 162 "a2p.y"
  2305. { yyval = oper2(OMOD,yyvsp[-2],yyvsp[0]); }
  2306. break;
  2307. case 45:
  2308. #line 164 "a2p.y"
  2309. { yyval = oper2(OPOW,yyvsp[-2],yyvsp[0]); }
  2310. break;
  2311. case 46:
  2312. #line 166 "a2p.y"
  2313. { yyval = oper2(ODEFINED,aryrefarg(yyvsp[0]),yyvsp[-2]); }
  2314. break;
  2315. case 47:
  2316. #line 168 "a2p.y"
  2317. { yyval = oper1(OPOSTINCR,yyvsp[-1]); }
  2318. break;
  2319. case 48:
  2320. #line 170 "a2p.y"
  2321. { yyval = oper1(OPOSTDECR,yyvsp[-1]); }
  2322. break;
  2323. case 49:
  2324. #line 172 "a2p.y"
  2325. { yyval = oper1(OPREINCR,yyvsp[0]); }
  2326. break;
  2327. case 50:
  2328. #line 174 "a2p.y"
  2329. { yyval = oper1(OPREDECR,yyvsp[0]); }
  2330. break;
  2331. case 51:
  2332. #line 176 "a2p.y"
  2333. { yyval = oper1(OUMINUS,yyvsp[0]); }
  2334. break;
  2335. case 52:
  2336. #line 178 "a2p.y"
  2337. { yyval = oper1(OUPLUS,yyvsp[0]); }
  2338. break;
  2339. case 53:
  2340. #line 180 "a2p.y"
  2341. { yyval = oper1(OPAREN,yyvsp[-1]); }
  2342. break;
  2343. case 54:
  2344. #line 182 "a2p.y"
  2345. { yyval = oper0(OGETLINE); }
  2346. break;
  2347. case 55:
  2348. #line 184 "a2p.y"
  2349. { yyval = oper1(OGETLINE,yyvsp[0]); }
  2350. break;
  2351. case 56:
  2352. #line 186 "a2p.y"
  2353. { yyval = oper3(OGETLINE,Nullop,string("<",1),yyvsp[0]);
  2354.             if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
  2355. break;
  2356. case 57:
  2357. #line 189 "a2p.y"
  2358. { yyval = oper3(OGETLINE,yyvsp[-2],string("<",1),yyvsp[0]);
  2359.             if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
  2360. break;
  2361. case 58:
  2362. #line 192 "a2p.y"
  2363. { yyval = oper3(OGETLINE,Nullop,string("|",1),yyvsp[-2]);
  2364.             if (ops[yyvsp[-2]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
  2365. break;
  2366. case 59:
  2367. #line 195 "a2p.y"
  2368. { yyval = oper3(OGETLINE,yyvsp[0],string("|",1),yyvsp[-3]);
  2369.             if (ops[yyvsp[-3]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
  2370. break;
  2371. case 60:
  2372. #line 198 "a2p.y"
  2373. { yyval = oper0(yyvsp[0]); need_entire = do_chop = TRUE; }
  2374. break;
  2375. case 61:
  2376. #line 200 "a2p.y"
  2377. { yyval = oper1(yyvsp[-2],Nullop); need_entire = do_chop = TRUE; }
  2378. break;
  2379. case 62:
  2380. #line 202 "a2p.y"
  2381. { yyval = oper1(yyvsp[-3],yyvsp[-1]); }
  2382. break;
  2383. case 63:
  2384. #line 204 "a2p.y"
  2385. { yyval = oper1(yyvsp[-3],yyvsp[-1]); }
  2386. break;
  2387. case 64:
  2388. #line 206 "a2p.y"
  2389. { yyval = oper2(OUSERFUN,yyvsp[-3],yyvsp[-1]); }
  2390. break;
  2391. case 65:
  2392. #line 208 "a2p.y"
  2393. { yyval = oper1(OSPRINTF,yyvsp[0]); }
  2394. break;
  2395. case 66:
  2396. #line 210 "a2p.y"
  2397. { yyval = oper3(OSUBSTR,yyvsp[-5],yyvsp[-3],yyvsp[-1]); }
  2398. break;
  2399. case 67:
  2400. #line 212 "a2p.y"
  2401. { yyval = oper2(OSUBSTR,yyvsp[-3],yyvsp[-1]); }
  2402. break;
  2403. case 68:
  2404. #line 214 "a2p.y"
  2405. { yyval = oper3(OSPLIT,yyvsp[-5],aryrefarg(numary(yyvsp[-3])),yyvsp[-1]); }
  2406. break;
  2407. case 69:
  2408. #line 216 "a2p.y"
  2409. { yyval = oper3(OSPLIT,yyvsp[-5],aryrefarg(numary(yyvsp[-3])),oper1(OREGEX,yyvsp[-1]));}
  2410. break;
  2411. case 70:
  2412. #line 218 "a2p.y"
  2413. { yyval = oper2(OSPLIT,yyvsp[-3],aryrefarg(numary(yyvsp[-1]))); }
  2414. break;
  2415. case 71:
  2416. #line 220 "a2p.y"
  2417. { yyval = oper2(OINDEX,yyvsp[-3],yyvsp[-1]); }
  2418. break;
  2419. case 72:
  2420. #line 222 "a2p.y"
  2421. { yyval = oper2(OMATCH,yyvsp[-3],oper1(OREGEX,yyvsp[-1])); }
  2422. break;
  2423. case 73:
  2424. #line 224 "a2p.y"
  2425. { yyval = oper2(OMATCH,yyvsp[-3],yyvsp[-1]); }
  2426. break;
  2427. case 74:
  2428. #line 226 "a2p.y"
  2429. { yyval = oper2(OSUB,yyvsp[-3],yyvsp[-1]); }
  2430. break;
  2431. case 75:
  2432. #line 228 "a2p.y"
  2433. { yyval = oper2(OSUB,oper1(OREGEX,yyvsp[-3]),yyvsp[-1]); }
  2434. break;
  2435. case 76:
  2436. #line 230 "a2p.y"
  2437. { yyval = oper2(OGSUB,yyvsp[-3],yyvsp[-1]); }
  2438. break;
  2439. case 77:
  2440. #line 232 "a2p.y"
  2441. { yyval = oper2(OGSUB,oper1(OREGEX,yyvsp[-3]),yyvsp[-1]); }
  2442. break;
  2443. case 78:
  2444. #line 234 "a2p.y"
  2445. { yyval = oper3(OSUB,yyvsp[-5],yyvsp[-3],yyvsp[-1]); }
  2446. break;
  2447. case 79:
  2448. #line 236 "a2p.y"
  2449. { yyval = oper3(OSUB,oper1(OREGEX,yyvsp[-5]),yyvsp[-3],yyvsp[-1]); }
  2450. break;
  2451. case 80:
  2452. #line 238 "a2p.y"
  2453. { yyval = oper3(OGSUB,yyvsp[-5],yyvsp[-3],yyvsp[-1]); }
  2454. break;
  2455. case 81:
  2456. #line 240 "a2p.y"
  2457. { yyval = oper3(OGSUB,oper1(OREGEX,yyvsp[-5]),yyvsp[-3],yyvsp[-1]); }
  2458. break;
  2459. case 82:
  2460. #line 244 "a2p.y"
  2461. { yyval = oper1(OVAR,yyvsp[0]); }
  2462. break;
  2463. case 83:
  2464. #line 246 "a2p.y"
  2465. { yyval = oper2(OVAR,aryrefarg(yyvsp[-3]),yyvsp[-1]); }
  2466. break;
  2467. case 84:
  2468. #line 248 "a2p.y"
  2469. { yyval = oper1(OFLD,yyvsp[0]); }
  2470. break;
  2471. case 85:
  2472. #line 250 "a2p.y"
  2473. { yyval = oper1(OVFLD,yyvsp[0]); }
  2474. break;
  2475. case 88:
  2476. #line 257 "a2p.y"
  2477. { yyval = Nullop; }
  2478. break;
  2479. case 89:
  2480. #line 261 "a2p.y"
  2481. { yyval = oper3(OCOMMA,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
  2482. break;
  2483. case 90:
  2484. #line 263 "a2p.y"
  2485. { yyval = oper3(OCOMMA,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
  2486. break;
  2487. case 91:
  2488. #line 265 "a2p.y"
  2489. { yyval = yyvsp[-1]; }
  2490. break;
  2491. case 92:
  2492. #line 269 "a2p.y"
  2493. { yyval = oper2(OJUNK,yyvsp[-1],yyvsp[0]); }
  2494. break;
  2495. case 93:
  2496. #line 271 "a2p.y"
  2497. { yyval = Nullop; }
  2498. break;
  2499. case 94:
  2500. #line 275 "a2p.y"
  2501. { yyval = oper2(OJUNK,oper0(OSEMICOLON),oper0(ONEWLINE)); }
  2502. break;
  2503. case 95:
  2504. #line 277 "a2p.y"
  2505. { yyval = oper2(OJUNK,oper0(OSEMICOLON),oper0(ONEWLINE)); }
  2506. break;
  2507. case 96:
  2508. #line 279 "a2p.y"
  2509. { yyval = oper0(ONEWLINE); }
  2510. break;
  2511. case 97:
  2512. #line 281 "a2p.y"
  2513. { yyval = oper1(OCOMMENT,yyvsp[0]); }
  2514. break;
  2515. case 98:
  2516. #line 285 "a2p.y"
  2517. { yyval = oper2(OJUNK,yyvsp[-1],yyvsp[0]); }
  2518. break;
  2519. case 99:
  2520. #line 287 "a2p.y"
  2521. { yyval = Nullop; }
  2522. break;
  2523. case 100:
  2524. #line 291 "a2p.y"
  2525. { yyval = oper0(ONEWLINE); }
  2526. break;
  2527. case 101:
  2528. #line 293 "a2p.y"
  2529. { yyval = oper1(OCOMMENT,yyvsp[0]); }
  2530. break;
  2531. case 102:
  2532. #line 298 "a2p.y"
  2533. { yyval = oper2(OJUNK,oper0(OSEMICOLON),yyvsp[0]); }
  2534. break;
  2535. case 103:
  2536. #line 300 "a2p.y"
  2537. { yyval = oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0]); }
  2538. break;
  2539. case 104:
  2540. #line 302 "a2p.y"
  2541. { yyval = oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0]); }
  2542. break;
  2543. case 105:
  2544. #line 304 "a2p.y"
  2545. { yyval = oper2(OJUNK,oper1(OSCOMMENT,yyvsp[-1]),yyvsp[0]); }
  2546. break;
  2547. case 106:
  2548. #line 308 "a2p.y"
  2549. { yyval = oper2(OSTATES,yyvsp[-1],yyvsp[0]); }
  2550. break;
  2551. case 107:
  2552. #line 310 "a2p.y"
  2553. { yyval = Nullop; }
  2554. break;
  2555. case 108:
  2556. #line 315 "a2p.y"
  2557. { yyval = oper2(OJUNK,oper2(OSTATE,yyvsp[-2],yyvsp[-1]),yyvsp[0]); }
  2558. break;
  2559. case 109:
  2560. #line 317 "a2p.y"
  2561. { yyval = oper2(OSTATE,Nullop,oper2(OJUNK,oper0(OSEMICOLON),yyvsp[0])); }
  2562. break;
  2563. case 110:
  2564. #line 319 "a2p.y"
  2565. { yyval = oper2(OSTATE,Nullop,oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0])); }
  2566. break;
  2567. case 113:
  2568. #line 325 "a2p.y"
  2569. { yyval = Nullop; }
  2570. break;
  2571. case 115:
  2572. #line 331 "a2p.y"
  2573. { yyval = oper3(OPRINT,yyvsp[-2],yyvsp[-1],yyvsp[0]);
  2574.             do_opens = TRUE;
  2575.             saw_ORS = saw_OFS = TRUE;
  2576.             if (!yyvsp[-2]) need_entire = TRUE;
  2577.             if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
  2578. break;
  2579. case 116:
  2580. #line 337 "a2p.y"
  2581. { yyval = oper1(OPRINT,yyvsp[0]);
  2582.             if (!yyvsp[0]) need_entire = TRUE;
  2583.             saw_ORS = saw_OFS = TRUE;
  2584.         }
  2585. break;
  2586. case 117:
  2587. #line 342 "a2p.y"
  2588. { yyval = oper3(OPRINTF,yyvsp[-2],yyvsp[-1],yyvsp[0]);
  2589.             do_opens = TRUE;
  2590.             if (!yyvsp[-2]) need_entire = TRUE;
  2591.             if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
  2592. break;
  2593. case 118:
  2594. #line 347 "a2p.y"
  2595. { yyval = oper1(OPRINTF,yyvsp[0]);
  2596.             if (!yyvsp[0]) need_entire = TRUE;
  2597.         }
  2598. break;
  2599. case 119:
  2600. #line 351 "a2p.y"
  2601. { yyval = oper0(OBREAK); }
  2602. break;
  2603. case 120:
  2604. #line 353 "a2p.y"
  2605. { yyval = oper0(ONEXT); }
  2606. break;
  2607. case 121:
  2608. #line 355 "a2p.y"
  2609. { yyval = oper0(OEXIT); }
  2610. break;
  2611. case 122:
  2612. #line 357 "a2p.y"
  2613. { yyval = oper1(OEXIT,yyvsp[0]); }
  2614. break;
  2615. case 123:
  2616. #line 359 "a2p.y"
  2617. { yyval = oper0(OCONTINUE); }
  2618. break;
  2619. case 124:
  2620. #line 361 "a2p.y"
  2621. { yyval = oper0(ORETURN); }
  2622. break;
  2623. case 125:
  2624. #line 363 "a2p.y"
  2625. { yyval = oper1(ORETURN,yyvsp[0]); }
  2626. break;
  2627. case 126:
  2628. #line 365 "a2p.y"
  2629. { yyval = oper2(ODELETE,aryrefarg(yyvsp[-3]),yyvsp[-1]); }
  2630. break;
  2631. case 127:
  2632. #line 369 "a2p.y"
  2633. { yyval = oper1(OREDIR,string(">",1)); }
  2634. break;
  2635. case 128:
  2636. #line 371 "a2p.y"
  2637. { yyval = oper1(OREDIR,string(">>",2)); }
  2638. break;
  2639. case 129:
  2640. #line 373 "a2p.y"
  2641. { yyval = oper1(OREDIR,string("|",1)); }
  2642. break;
  2643. case 130:
  2644. #line 378 "a2p.y"
  2645. { yyval = oper2(OIF,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
  2646. break;
  2647. case 131:
  2648. #line 380 "a2p.y"
  2649. { yyval = oper3(OIF,yyvsp[-6],bl(yyvsp[-3],yyvsp[-4]),bl(yyvsp[0],yyvsp[-1])); }
  2650. break;
  2651. case 132:
  2652. #line 382 "a2p.y"
  2653. { yyval = oper2(OWHILE,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
  2654. break;
  2655. case 133:
  2656. #line 384 "a2p.y"
  2657. { yyval = oper2(ODO,bl(yyvsp[-4],yyvsp[-5]),yyvsp[-1]); }
  2658. break;
  2659. case 134:
  2660. #line 386 "a2p.y"
  2661. { yyval = oper4(OFOR,yyvsp[-7],yyvsp[-5],yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
  2662. break;
  2663. case 135:
  2664. #line 388 "a2p.y"
  2665. { yyval = oper4(OFOR,yyvsp[-6],string("",0),yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
  2666. break;
  2667. case 136:
  2668. #line 390 "a2p.y"
  2669. { yyval = oper2(OFORIN,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
  2670. break;
  2671. case 137:
  2672. #line 392 "a2p.y"
  2673. { yyval = oper3(OBLOCK,oper2(OJUNK,yyvsp[-3],yyvsp[-2]),Nullop,yyvsp[0]); }
  2674. break;
  2675. #line 2674 "y.tab.c"
  2676.     }
  2677.     yyssp -= yym;
  2678.     yystate = *yyssp;
  2679.     yyvsp -= yym;
  2680.     yym = yylhs[yyn];
  2681.     if (yystate == 0 && yym == 0)
  2682.     {
  2683. #if YYDEBUG
  2684.         if (yydebug)
  2685.             printf("yydebug: after reduction, shifting from state 0 to\
  2686.  state %d\n", YYFINAL);
  2687. #endif
  2688.         yystate = YYFINAL;
  2689.         *++yyssp = YYFINAL;
  2690.         *++yyvsp = yyval;
  2691.         if (yychar < 0)
  2692.         {
  2693.             if ((yychar = yylex()) < 0) yychar = 0;
  2694. #if YYDEBUG
  2695.             if (yydebug)
  2696.             {
  2697.                 yys = 0;
  2698.                 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
  2699.                 if (!yys) yys = "illegal-symbol";
  2700.                 printf("yydebug: state %d, reading %d (%s)\n",
  2701.                         YYFINAL, yychar, yys);
  2702.             }
  2703. #endif
  2704.         }
  2705.         if (yychar == 0) goto yyaccept;
  2706.         goto yyloop;
  2707.     }
  2708.     if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
  2709.             yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
  2710.         yystate = yytable[yyn];
  2711.     else
  2712.         yystate = yydgoto[yym];
  2713. #if YYDEBUG
  2714.     if (yydebug)
  2715.         printf("yydebug: after reduction, shifting from state %d \
  2716. to state %d\n", *yyssp, yystate);
  2717. #endif
  2718.     if (yyssp >= yyss + yystacksize - 1)
  2719.     {
  2720.         goto yyoverflow;
  2721.     }
  2722.     *++yyssp = yystate;
  2723.     *++yyvsp = yyval;
  2724.     goto yyloop;
  2725. yyoverflow:
  2726.     yyerror("yacc stack overflow");
  2727. yyabort:
  2728.     return (1);
  2729. yyaccept:
  2730.     return (0);
  2731. }
  2732.